javascript - 检查对象数组中的重复条目并创建一个新条目

标签 javascript arrays lodash

我试图通过创建一个新数组来合并对象数组中的重复条目。

我不知道如何在不循环遍历新数组的情况下检查是否重复,这在尝试推送内容时让我感到困惑,因为它每次都在外循环中执行。

我应该如何正确执行此操作?

var arr=[0];
for (var k in data) {
    var name = data[k].name;
    var item = data[k];
    //check if already in array
    for (var l in arr){
        if (arr[l].name == name){
            arr[l].value = arr[l.value] + ';;' + item.value;
        } else {
            arr.push(item);
        }
    }
}

最佳答案

使用Lodash

var arr = _.uniqBy(data, 'name');

关于javascript - 检查对象数组中的重复条目并创建一个新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36683580/

相关文章:

javascript - 如何使用换行符在 SweetAlert 上输出 CodeIgniter 验证错误消息?

c++ - 最快的数组结构到结构数组的转换

javascript - 限制ExtJS Textarea中输入的行数

javascript - JavaScript 对象中找到的属性名称的表单数组

javascript - 从字符串中动态选择类 - "MyClassName"-> MyClassName

javascript - 单击按钮时 Nav 消失,这只需要 < 767

javascript - .appendChild(tr) 创建没有数据的 tr

C - (ptr = = &ptr) 什么是*ptr?

javascript - 如何将类型数组猴子补丁到 ECMAScript 3 JavaScript 中,特别是 Uint8Array? (Adobe ESTK 中 IDE 必需品)

javascript - 在javascript中合并两个数组,如果id相同,则使用lodash选择第二个数组上的一个