js數組去重是面試中經常會碰到的問題,無論是前端還是node。js數組常見的有兩種形式,一種是數組各元素均為基本數據類型,常見的為數組字符串格式,形如['a','b','c'];一種是數組各元素不定,元素中既有基本數據類型,也有引用數據類型,形式如[{name:1,age:2}];這里介紹兩種常見的js去重方式.
方法一:針對數組字符串形式(利用set)
let arr = [1,2,3,4,5,4,3,2,1]; let set = new Set(); arr.forEach((item)=> set.add(item)); let a = Array.from(set); console.log(a);
方法二: 針對數組元素類型不定情況下,通常是數組內包裹對象(利用對象的key唯一特效);
let arr = [ { name:'zhangsan', age: 22, }, { name:'zhangsan', age: 22, }, { name:'lisi', age: 23, } ]; let obj = {}; arr.forEach((item)=> obj[item.name]=item); let a = []; for ( let key in obj) { a.push(obj[key])}; console.log(a);
轉載自: https://www.sixstone.top
