js陣列去重常用方法
阿新 • • 發佈:2019-01-09
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