JavaScript 从浅入深 100 题训练计划--(21)数组去重

题目:实现数组去重,要求处理基本类型、NaN、对象引用等边界情况

要求:至少用 3 种方法实现

 

 1 let numberArr = [1, 2, 3, 1, 2]
 2 function unique(arr) {
 3   // return [...new Set(arr)]
 4   // return Array.from(new Set(arr))
 5 
 6   // return arr.filter((r, index) => arr.indexOf(r) === index)
 7 
 8   // return arr.recude((acc, cur) => {
 9   //   return acc.inculdes(cur) ? acc : [...acc, ...cur]
10   // }, [])
11 
12   // return Array.from(new Map(arr.map(item => [item, item])).values())
13 
14   const seen = {}
15   const list = []
16   arr.forEach(r => {
17     if (!seen[r]) {
18       seen[r] = true;
19       list.push(r)
20     }
21   });
22 
23   return list
24 }

 

 

这个是简单数组的去重,考虑下对象数组的去重

posted @ 2026-08-31 19:14  小新的蜡笔  阅读(3)  评论(0)    收藏  举报