JavaScript オブジェクトの配列が与えられた場合、類似したキーに関連付けられた値を効果的に合計するにはどうすればよいですか?
これを達成するには、次の方法を使用できます。手順:
配列の例を考えてみましょう。
var obj = [ { 'name': 'P1', 'value': 150 }, { 'name': 'P1', 'value': 150 }, { 'name': 'P2', 'value': 200 }, { 'name': 'P3', 'value': 450 } ];
上記のアプローチを適用すると:
// Create a holder object to sum values for similar names var holder = {}; obj.forEach(function(d) { if (holder.hasOwnProperty(d.name)) { holder[d.name] = holder[d.name] + d.value; } else { holder[d.name] = d.value; } }); // Populate a new array with the summed values var obj2 = []; for (var prop in holder) { obj2.push({ name: prop, value: holder[prop] }); } // Output the result console.log(obj2);
期待される出力:
[ { 'name': 'P1', 'value': 300 }, { 'name': 'P2', 'value': 200 }, { 'name': 'P3', 'value': 450 } ]
以上がJavaScript オブジェクト内の類似したキーの値を効率的に合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。