我正在尝试通过创建一个新数组来合并对象数组中的重复条目。
我不知道如何在没有循环遍历新数组的情况下检查重复数据,然后在尝试推送内容时会让我感到困惑,因为它每次都为外部循环执行。
我该如何正确地做到这一点?
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);
}
}
}
答案 0 :(得分:1)
使用 Lodash
var arr = _.uniqBy(data, 'name');
答案 1 :(得分:0)
我不确定我是否正确回答你的问题,但你可以使用.indexOf()来解决这个问题。 indexOf返回数组中元素的位置,如果不存在则返回-1:http://www.w3schools.com/jsref/jsref_indexof_array.asp
list