javascript - 从 JS 数组中删除重复项

标签 javascript arrays

<分区>

我有以下 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 来处理它?<​​/p>

最佳答案

我们实际上可以非常简单地做到这一点,只需遍历它即可。对于每个项目,根据其 ID 分配其在新数组中的位置。较早的 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));

关于javascript - 从 JS 数组中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26118418/

相关文章:

javascript - 搜索打开的转义方括号在 "javascript search function"中与标准正则表达式的行为不同

javascript - KnockoutJS 在绑定(bind)中使用上下文调用方法

php - 将静态值添加到 PDO 结果行

php - 如何在 PHP 中使用变量名创建新变量?

php - stdClass 与数组。推荐哪个?

php - 如何在 PHP 中查找数组的众数

javascript - AngularJS 在数组中循环多个数组

javascript - 获取上个月日期javascript

javascript - 为什么我从 here-string 中收到 "not a cmdlet"错误?

php - 试图获得非对象的属性? PHP/代码点火器