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() 方法把一個(gè)對(duì)象轉(zhuǎn)成string類型來做比較
function getUnique2(arr) {
const map = {};
// 1、把數(shù)組元素作為對(duì)象的鍵存起來(這樣就算有重復(fù)的元素涂圆,也會(huì)相互替換掉)
arr.forEach(item => map[JSON.stringify(item)] = item);
// 2何乎、再把對(duì)象的值抽成一個(gè)數(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)通版"}
]
*/