const goodsList = [
{
goodsCode: '2611201047G',
goodsName: '华为畅享9 Plus 全网通版 '
},
{
goodsCode: '2611201418G',
goodsName: 'HUAWEInova6i 全网通版'
},
{
goodsCode: '2611201047G',
goodsName: '华为畅享9 Plus 全网通版'
}
]
getUnique(goodsList); // 返回的依然是goodsList
借助JSON.stringify() 方法把一个对象转成string类型来做比较
function getUnique2(arr) {
const map = {};
// 1、把数组元素作为对象的键存起来(这样就算有重复的元素,也会相互替换掉)
arr.forEach(item => map[JSON.stringify(item)] = item);
// 2、再把对象的值抽成一个数组返回即为不重复的集合
return Object.keys(map).map(key => map[key])
}
getUnique2(goodsList);
/*
[
{goodsCode: "2611201047G", goodsName: "华为畅享9 Plus 全网通版"},
{goodsCode: "2611201418G", goodsName: "HUAWEInova6i 全网通版"}
]
*/
网友评论