首页 > 解决方案 > JavaScript:从给定二维数组的内部数组中删除所有重复元素

问题描述

您必须从给定二维数组的内部数组中删除所有重复元素。

二维阵列

[[1,2,3,8,1,2], [54,26,14,54], [81,4,6,84]]

内部数组

[1,2,3,8,1,2], [54,26,14,54] and [81,4,6,84]

所以输出应该是

[[1,2,3,8],[54,26,15],[81,4,6,84]]

代码:

var twoD = [[1,2,3,8,1,2], [54,26,14,54], [81,4,6,84]];
function deleteDuplicate (twoD) {
        let uniqueArr = []; //init empty array
    for(var i=0;i<twoD.length;i++){
        for(let j of twoD[i]) {
        if(uniqueArr.indexOf(j) === -1) {   
            uniqueArr.push(j);
        }
    }
    }
     return uniqueArr;
}

console.log(deleteDuplicate(twoD));

我的代码returns一个[1,2,3,8,54,26,15,81,4,6,84]带有as 值的数组。

我知道问题在于推动,但无论如何我都想不出,我该怎么做?

标签: javascriptarrays

解决方案


您可以使用Set

const arr = [[1,2,3,8,1,2], [54,26,14,54], [81,4,6,84]];


function beUnique(arr){
  const res = arr.map((a)=>{
    const unique = new Set(a);
    return Array.from(unique);
  });
  console.log(res);
}

beUnique(arr);


推荐阅读