js中二维数组数组项去重

Posted mingL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中二维数组数组项去重相关的知识,希望对你有一定的参考价值。

今天在LeetCode刷题时遇到需要对二维数组的数组项进行去重,题目链接:三数之和,给定一个数组,取出所有三个数相加等于0的不重复的项

我给出了一个解决方案,不过时间复杂度没通过,后期再改:

var threeSum = function(nums) {
    var len=nums.length;
    var arr=[];
    var res=[];
    var result=[];
    //取出所有三个数之和为0的项存入数组
    for(var i=0;i<len;i++){
    	for(var j=i+1;j<len;j++){
    		for(var k=j+1;k<len;k++){
    			if(nums[i]+nums[j]+nums[k]===0){
    				arr.push(nums[i],nums[j],nums[k]);
    				res.push(arr);
    				arr=[];
    			}
    		}
    	}
    }
    //排序
    res.map(item=>{
    	item.sort(function(v1,v2){
    		if(v1<v2){
    			return -1;
    		}else{
    			return 1;
    		}
    	})
    	
    })
    //去重
    for(var i=0;i<res.length;i++){
    	for(var j=i+1;j<res.length;j++){
    		if(res[i][0]===res[j][0] && res[i][1]===res[j][1] && res[i][2]===res[j][2]){
    			j=++i;
    		}
    	}
    	result.push(res[i]);
    }

    console.log(result)
  
};

  

 

以上是关于js中二维数组数组项去重的主要内容,如果未能解决你的问题,请参考以下文章

数组去重

js怎么解析后台传过来的二维数组

请教thinkphp 二维数组值去重怎么去的哦

js里面二维数组如何实现?

php 多个 一维数组 去重 组成新数组

js数组遍历