【发布时间】:2012-11-24 11:54:49
【问题描述】:
可能重复:
Remove duplicates from an array of objects in javascript
var arr = [{empID:100,empName:greg},{empID:101,empName:Math},{empID:100,empName:greg}];
var sorted_arr = arr.sort(); // You can define the comparing function here.
// JS by default uses a crappy string compare.
var results = [];
for (var i = 0; i < arr.length - 1; i++) {
if (sorted_arr[i + 1].empID != sorted_arr[i].empID) {
results.push(sorted_arr[i]);
}
}
alert(results);
我有一个对象数组,但是当我尝试删除与 ID 匹配的重复对象时,它不会被删除。代码有什么问题。
【问题讨论】:
-
其实这应该是正确的,这就是chrome返回给我的:
[{"empID":100,"empName":"greg"},{"empID":101,"empName":"Math"}]如果你说的是结果数组中的元素jsbin.com/uwulun/1/edit -
您的数组可能不是按
empID排序的,而是按对象哈希排序的。
标签: javascript