2016-05-28 5 views
0

私はこのような配列に減らすようにする方法を学ぶのを助ける必要があります。JS配列のインデックスの合計を減らすにはどうすればいいですか?

a=[ ["ww","fsf",40],["ww","fsf",30],["ww","fsf",10]] 

私はメソッドを使用して40 + 30 + 10を減らす合計する方法を学びたいです。私は配列が[40,30,10]であればそれをどうやって行うのか知っています。 誰でも助けてくれますか?ありがとうございました。

答えて

4

.reduce単一の値に低減するために(左から右)からアキュムレータアレイの各値に対して関数を適用する:

a.reduce(callback[, initialValue]) 

あなたの値は、配列になります。

["ww","fsf",40] 
["ww","fsf",30] 
["ww","fsf",10] 

だからあなたが使用することができます。

a.reduce(function(sum, value) { 
    return sum + value[2]; 
}, 0); 

それともES6新しいarrow functionsを使用して:

a.reduce((sum, value) => sum + value[2], 0); 
+0

ありがとうございます。それはとても便利でした。 – user1774309

+0

矢印の関数の例で、初期値が不足しています。 –

+0

@torazaburo私に通知してくれてありがとう:-) – andlrc

2
a.reduce((sum, row) => sum + row[row.length - 1], 0) 
+1

あなたは=>説明できますか? reduce関数の中で関数function(){}を使って同じものを書くことができますか?ありがとうございました。 – user1774309

関連する問題