【发布时间】:2021-12-30 08:05:57
【问题描述】:
这是我的代码
var studentsList = [
{"Id": "101", "name": "siva"},
{"Id": "101", "name": "siva"},
{"Id": "102", "name": "hari"},
{"Id": "103", "name": "rajesh"},
{"Id": "103", "name": "rajesh"},
{"Id": "104", "name": "ramesh"},
];
function arrUnique(arr) {
var cleaned = [];
studentsList.forEach(function(itm) {
var unique = true;
cleaned.forEach(function(itm2) {
if (_.isEqual(itm, itm2)) unique = false;
});
if (unique) cleaned.push(itm);
});
return cleaned;
}
var uniqueStandards = arrUnique(studentsList);
document.body.innerHTML = '<pre>' + JSON.stringify(uniqueStandards, null, 4) + '</pre>';
输出
[
{
"Id": "101",
"name": "siva"
},
{
"Id": "102",
"name": "hari"
},
{
"Id": "103",
"name": "rajesh"
},
{
"Id": "104",
"name": "ramesh"
}
]
在上面的代码中,我从 JavaScript 数组中获得了唯一的对象,但我想删除重复的对象。所以我想从数组中得到没有重复的对象,输出像 [ { “身份证”:“102”, “名称”:“哈里” }, { “身份证”:“104”, “名称”:“拉梅什” } ]
【问题讨论】:
-
为什么不使用 lodash 或下划线库?
-
使用
lodash提高生产力:lodash.com/docs#uniq -
这和 Angular 有什么关系?
标签: javascript javascript-objects