const goodsList = [
{
goodsCode: '2611201047G',
goodsName: '華為暢享9 Plus 全網(wǎng)通版 '
},
{
goodsCode: '2611201418G',
goodsName: 'HUAWEInova6i 全網(wǎng)通版'
},
{
goodsCode: '2611201047G',
goodsName: '華為暢享9 Plus 全網(wǎng)通版'
}
]
getUnique(goodsList); // 返回的依然是goodsList
借助JSON.stringify() 方法把一個對象轉(zhuǎn)成string類型來做比較
function getUnique2(arr) {
const map = {};
// 1、把數(shù)組元素作為對象的鍵存起來(這樣就算有重復(fù)的元素,也會相互替換掉)
arr.forEach(item => map[JSON.stringify(item)] = item);
// 2、再把對象的值抽成一個數(shù)組返回即為不重復(fù)的集合
return Object.keys(map).map(key => map[key])
}
getUnique2(goodsList);
/*
[
{goodsCode: "2611201047G", goodsName: "華為暢享9 Plus 全網(wǎng)通版"},
{goodsCode: "2611201418G", goodsName: "HUAWEInova6i 全網(wǎng)通版"}
]
*/