質問
私はfirebaseで作業しており、ネイティブに反応しています。配列内のオブジェクトキーの合計を計算する方法 - javascript
firebaseデータベースからこのような配列が返されました。
[Object, Object, Object]
各オブジェクトの下で、「レベル:4」という単一のアイテムが返されました。
私は4,5,6を含む3つのオブジェクトを持っています。これらをどのようにまとめますか?
ありがとうございます!
私はfirebaseで作業しており、ネイティブに反応しています。配列内のオブジェクトキーの合計を計算する方法 - javascript
firebaseデータベースからこのような配列が返されました。
[Object, Object, Object]
各オブジェクトの下で、「レベル:4」という単一のアイテムが返されました。
私は4,5,6を含む3つのオブジェクトを持っています。これらをどのようにまとめますか?
ありがとうございます!
単純なループのどちらか
var a = [{level:1},{level:2},{level:3},{level:4}],
total = 0;
for (var i=0; i<a.length; i++) {
total += a[i].level;
}
または還元
var a = [{level:1},{level:2},{level:3},{level:4}],
total = a.reduce(function(cnt,o){ return cnt + o.level; }, 0);
配列内のオブジェクトにアクセスしてプロパティを呼び出そうとしましたか?
var array = [object, object, object];
var sum = array[0].level + array[1].level + array[2].level;
Array.prototype.forEach()
メソッドを使用して配列を繰り返し、要素を合計します。
{ level : 4 }
コードを記述し、このように、私たちはあなたの配列がvar foo = [object, object, object]
各object
は、このような構造を持っているとしましょう:
var sum = 0;
foo.forEach(function(obj){
sum += obj.level;
});
sum
は、合計を格納する
JavaScriptのreduce関数を使用できます。これは基本的に@epascarello answerと同じですが、ES6の構文です。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
const arr = [{level:2},{level:4},{level:5}];
const total = arr.reduce((prev,next) => prev + next.level,0);
console.log(total);
このコードは、アレイの合計を計算します。まず、1つの変数を宣言します。この変数の名前はsum
になります。 sum
には合計の合計が含まれます。次にArray
のnumbers
変数を宣言します。この変数には数字が含まれます。
次に、sum
変数に(sum= sum+i);
の値を代入するループ(for)演算を開始します。 次に、数字と合計を(document.write)
に示します。
var summa = 0 , i ;
var numbers= [1,2,3,4,5];
for(i = 0; i <= numbers.length; i++){
summa=summa+i;
}
document.write(numbers , ": bu reqemlerin cemi " ,"=" , summa);
申し訳ありません私は新しいstackoverflowだと私はコードのどの部分が記述されているかわからないので、私はナレーションでそれを書いた –
配列をループして、プロパティを読み込み、追加します。 – epascarello
Hey gbland777。 StackOverflowへようこそ。あなたはおそらくあなたの質問にいくつかdownvotesがあることに気づいたように。これを防ぐ1つの方法は、(あなたの質問で)[問題を再現する最小限のコード](http://stackoverflow.com/help/mcve)を提供することです。これにより、あなたの記述から逆追跡しようとするのではなく、あなたが間違っている(または明確化が必要な)ことを見るためにあなたのコードをチェックすることができます。これは、人々が手助けする方法にとってより効率的です。あなたが私たちのために作るのが簡単になればなるほど、助けを得る可能性が高くなります。 :-) –