在项目开发过程中需要对多维数组(数组矩阵)进行去重处理,现用以下两种方法实现
定义一组数据
let listArr = [[1,2],[3,4],[1,2]]
- 第一种 冒泡排序实现
handleUnique(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i][0] === arr[j][0] && arr[i][1] === arr[j][1]) {
arr.splice(j, 1);
j--;
}
}
}
}
// 调用函数
handleUnique(listArr);
console.log("listArr", listArr);
- 第二种 利用属性名比较
handleUnique(arr) {
const list = {};
arr.map(item => {
// 这里对数组进行排序
// item.sort((a, b) => a - b);
list[item] = item;
});
return Object.values(list);
}
// 调用函数
let itemList = handleUnique(listArr);
console.log("itemList", itemList);