我有以下JS数组:
var items=[
{ id: 1, name: 'aa' },
{ id: 1, name: 'bb' },
{ id: 2, name: 'cc' },
{ id: 1, name: 'dd' }
];我想把它转换成以下内容。
var items=[
{ id: 1, name: 'dd' },
{ id: 2, name: 'cc' }
];我应该如何使用JavaScript来实现它呢?
发布于 2014-09-30 10:27:33
我们实际上可以很简单地做这件事,只要绕一圈就行了。对于每一项,在与其ID对应的新数组中分配其位置。先前的ID会被覆盖,因此只有最后一个被保存。
var items=[
{ id: 1, name: 'aa' },
{ id: 1, name: 'bb' },
{ id: 2, name: 'cc' },
{ id: 1, name: 'dd' }
], newItems = [];
for (var i =0;i<items.length;i++){
newItems[items[i].id - 1] = items[i];
}
alert(JSON.stringify(newItems));
https://stackoverflow.com/questions/26118418
复制相似问题