js去除数组对象中的重复对象
程序员文章站
2022-07-14 07:57:11
...
1、根据数组对象中的id作比较,id相同的去掉。
var arr = [
{
DocESOPTerminalId: "632cffab-4d49-45da-9ef7-af263914b6f9",
LocationName: "测试列",
FactoryId: "9c895538-6cf0-49a9-aca0-89531936118e",
WorkShopId: "1b29ff90-aa70-4d37-9650-5989d18f0642",
LineId: "48d3e7e4-b471-4dd4-a3f8-a380f4e7efe7"
},
{
DocESOPTerminalId: "969d538d-95a1-4db1-b6b4-6b8f58a3f8e3",
LocationName: "桃子仓库",
FactoryId: "ae73b680-a88c-40ce-bfb4-853cced01203",
WorkShopId: "e107b11e-d46b-4d7f-aada-fb09e931bafb",
LineId: "f308db64-21dd-4750-900f-cd28212cc254",
},
{
DocESOPTerminalId: "dff87fc0-fd96-49c4-b530-abd067d9ac04",
LocationName: "JIMES",
FactoryId: "9c895538-6cf0-49a9-aca0-89531936118e",
WorkShopId: "1b29ff90-aa70-4d37-9650-5989d18f0642",
LineId: "48d3e7e4-b471-4dd4-a3f8-a380f4e7efe7",
DocEsopDrawingId: "2135df72-0c8a-484b-8354-8954bb99b814",
DocEsopDrawingCode: "a31",
Process: "test1",
CustomerName: "通用",
ModelName: "G6-Sycom(35-102-0000199 200)",
Type: "null(21页)",
Category: "试产",
},
{
DocESOPTerminalId: "dff87fc0-fd96-49c4-b530-abd067d9ac04",
LocationName: "JIMES",
FactoryId: "9c895538-6cf0-49a9-aca0-89531936118e",
WorkShopId: "1b29ff90-aa70-4d37-9650-5989d18f0642",
LineId: "48d3e7e4-b471-4dd4-a3f8-a380f4e7efe7",
DocEsopDrawingId: "7c72a6e4-677d-465a-aa65-24949e5f7d5a",
DocEsopDrawingCode: "a24",
Process: "test1",
CustomerName: "通用",
ModelName: "G6-Sycom(35-102-0000199 200)",
Type: "null(1页)",
Category: "量产",
},
];
var newArr= [];
var aftID = [];
for(var item of selectRowData){
if(aftID.indexOf(item['DocESOPTerminalId']) == -1){
aftID.push(item['DocESOPTerminalId'])
newArr.push(item);
}
}
console.log(newArr);
结果如下:
2、
function delObj(obj) {
var uniques = [];
var stringify = {};
for (var i = 0; i < obj.length; i++) {
var keys = Object.keys(obj[i]);
keys.sort(function(a, b) {
return (Number(a) - Number(b));
});
var str = '';
for (var j = 0; j < keys.length; j++) {
str += JSON.stringify(keys[j]);
str += JSON.stringify(obj[i][keys[j]]);
}
if (!stringify.hasOwnProperty(str)) {
uniques.push(obj[i]);
stringify[str] = true;
}
}
uniques = uniques;
return uniques;
}
var arr = [
{name:'uzi',color:'blue'},
{name:'pdd',color:'white'},
{name:'mlxg',color:'orange'},
{name:'uzi',color:'blue'},
]
console.log(delObj(arr))
结果如下图所示:
下一篇: ++i和i++的区别 | C语言