- 最後に
name
ごとに1つのオブジェクトのみが必要です。 - 複数のオブジェクトが同じ名前である場合は、各オブジェクトの
number
配列が1つのオブジェクトに結合し得るよう - その名前のためにそれを作ると同じ名前を持つ一つの目的は
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)
を発生したが、私は重複を削除する方法を知りませんでしたので、それが複雑になった回数を知ることができたと1つを残して、number
の配列を組み合わせる
とああ。私はちょうど減らすことでこれをすることができると今考えていた。カウント部分を忘れて –