溫馨提示×

js復雜數組去重的方法有哪些

js
小億
149
2023-08-05 13:28:37
欄目: 編程語言

在JavaScript中,有多種方法可以對復雜數組進行去重。

  1. 使用Set對象:Set對象是ES6中引入的一種新的數據結構,它允許存儲任何類型的唯一值??梢詫碗s數組轉換為Set對象,然后再將其轉換回數組,即可實現數組去重。
let arr = [{id: 1}, {id: 2}, {id: 1}, {id: 3}];
let uniqueArr = [...new Set(arr.map(JSON.stringify))].map(JSON.parse);
console.log(uniqueArr);
  1. 使用filter()方法和indexOf()方法:通過遍歷數組,使用indexOf()方法檢查元素在數組中的位置,并將不重復的元素篩選出來。
let arr = [{id: 1}, {id: 2}, {id: 1}, {id: 3}];
let uniqueArr = arr.filter((item, index) => {
return arr.findIndex(obj => JSON.stringify(obj) === JSON.stringify(item)) === index;
});
console.log(uniqueArr);
  1. 使用reduce()方法:使用reduce()方法遍歷數組,將不重復的元素存儲在一個新的數組中。
let arr = [{id: 1}, {id: 2}, {id: 1}, {id: 3}];
let uniqueArr = arr.reduce((result, item) => {
const index = result.findIndex(obj => JSON.stringify(obj) === JSON.stringify(item));
if (index === -1) {
result.push(item);
}
return result;
}, []);
console.log(uniqueArr);

以上是幾種常用的方法,可以根據具體情況選擇適合的方法進行數組去重。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女