1. 程式人生 > >js陣列去重常用方法

js陣列去重常用方法

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