如何在数组中查找和控制日志重复值?

时间:2016-01-13 08:32:53

标签: javascript arrays

我有数组,我想在数组中找到重复的值,然后是console.log。 我的阵列:

var arr = [{
id: 1,
name: "a"
},{
id: 1,
name: "b"
},{
id: 2,
name: "c"
}]

如果ID重复!

1 个答案:

答案 0 :(得分:0)

利用JavaScript中的对象必须具有唯一键的事实:

var arr = [{
id: 1,
name: "a"
},{
id: 1,
name: "b"
},{
id: 2,
name: "c"
}];

var mergedData = {};
for (var i = 0; i < arr.length; i++) {
  var data = arr[i];

  var merged = mergedData[data.id];
  if (!merged) {
    merged = [];
    mergedData[data.id] = merged;
  }

  merged.push(data.name);
}

console.log(mergedData);

我们将ID用作对象中的键(必须是唯一的),并将所有对应的name放入列表中。