需求:需要将下面这个数组重复项去掉。
let data = [
{
"workpiece_id": 1005,
"workpiece_name": "小板",
"price": null,
"tax_price": null
},
{
"workpiece_id": 1005,
"workpiece_name": "小板",
"price": 1828950.64,
"tax_price": null
},
{
"workpiece_id": 1005,
"workpiece_name": "小板",
"price": null,
"tax_price": null
},
{
"workpiece_id": 1005,
"workpiece_name": "小板",
"price": 7489689.12,
"tax_price": null
},
{
"workpiece_id": 1005,
"workpiece_name": "小板",
"price": 1587068.01,
"tax_price": null
},
{
"workpiece_id": 1001,
"workpiece_name": "车件",
"price": null,
"tax_price": null
},
{
"workpiece_id": 1001,
"workpiece_name": "车件",
"price": 1078364.6,
"tax_price": null
},
{
"workpiece_id": 1001,
"workpiece_name": "车件",
"price": null,
"tax_price": null
},
{
"workpiece_id": 1001,
"workpiece_name": "车件",
"price": 33464937.78,
"tax_price": null
},
{
"workpiece_id": 1001,
"workpiece_name": "车件",
"price": 788544,
"tax_price": null
},
{
"workpiece_id": 1002,
"workpiece_name": "钣金",
"price": null,
"tax_price": null
},
{
"workpiece_id": 1003,
"workpiece_name": "大板",
"price": null,
"tax_price": null
},
{
"workpiece_id": 1003,
"workpiece_name": "大板",
"price": 134.4,
"tax_price": null
},
{
"workpiece_id": 1000,
"workpiece_name": "机电",
"price": null,
"tax_price": null
},
{
"workpiece_id": 997,
"workpiece_name": "电控",
"price": null,
"tax_price": null
}
]
实现方法:
function removeDuplicate(arr){
let temp = [];
cost res = new Map();
temp = arr.filter((item) => !res.has(item.workpiece_id) && res.set(item.workpiece_id, 1))
return temp
}
调用:
console.log(removeDuplicate(data));//[{"workpiece_id":1005,"workpiece_name":"小板","price":null,"tax_price":null},{"workpiece_id":1001,"workpiece_name":"车件","price":null,"tax_price":null},{"workpiece_id":1002,"workpiece_name":"钣金","price":null,"tax_price":null},{"workpiece_id":1003,"workpiece_name":"大板","price":null,"tax_price":null},{"workpiece_id":1000,"workpiece_name":"机电","price":null,"tax_price":null},{"workpiece_id":997,"workpiece_name":"电控","price":null,"tax_price":null}]
数组对象去重(数组每个元素是对象)
最新推荐文章于 2023-03-01 10:34:36 发布