- 最后,每
name
应该只有一个对象。 - 如果有 名称相同的多个对象让这个在
number
阵列的每个对象共同结合成该名称的一个对象 - 具有相同名称的一个对象不应该在
number
重复的元素阵列。 数组数组中的元素应该按照它们在原始数组中出现的顺序出现。将数组中的对象合并并推送到对象中的数组
var arrT = [ {name : "x.com", number :["123-456-789"]}, {name : "x.com", number :["452-123-789"]},{name : "y.com", number :["123-456-000"]}, {name : "x.com", number :["123-456-789"]}, {name : "y.com", number :["123-456-000"]}, {name : "b.com", number :["178-456-000"]} ] output should be:[ {name : "x.com", number : ["123-456-789", "452-123-789"]}, //notice: 123-456-789 didn't appear twice {name : "y.com", number : ["123-456-000"]}, {name : "b.com", number :["178-456-000"]} ]
我能找出多少次发生
var occurrences = nArr.reduce(function(acc, curr,i){
if(typeof acc[curr.name] == "undefined"){
acc[curr.name] = 1;
}else{
acc[curr.name] += 1
}
return acc;
}, {});
console.log(occurrences)
var moreThanOne = [];
for(var key in occurrences){
if(occurrences[key] > 1){
moreThanOne.push(key);
}
}
console.log("moreThanOne", moreThanOne)
,但具有相同名称的对象,然后它被认为是复杂的,因为我不知道如何删除重复项离开一个,并结合number
阵列
哦。我刚才在想,只要减少就可以做到这一点。忘记计数部分 –