3 回答

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊
沒看懂題目,但如果按照給出代碼的話來看,這個(gè)可能更簡(jiǎn)潔一點(diǎn)。
const arrayUniq = (x) => [...new Set(x)];

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
就是Set對(duì)象里的每一個(gè)數(shù)據(jù)地址不同,即為不同的對(duì)象!
對(duì)象類型的數(shù)組,如定義:[{a:1,b:2},{a:1,b:3},{a:1,b:2}] 過濾之后還是三個(gè)對(duì)象;
但是 如果你是 let obj = {a:1,b:2}; arr.push(obj);這樣放進(jìn)去 最終會(huì)被過濾掉冗余的,只剩一個(gè)
const arrayUniq = (x) => [...new Set(x)];
let arr1 = [{a:1,b:2},{a:1,b:3},{a:1,b:2}];
let arr2 = [{a:1,b:3}];
let obj = {a:1,b:2};
arr2.push(obj);
arr2.push(obj);
arrayUniq(arr1);
//[{a:1,b:2},{a:1,b:3},{a:1,b:2}]
arrayUniq (arr2);
//[{a:1,b:2},{a:1,b:3}]
添加回答
舉報(bào)