2016-10-17 15 views
2

私はjavascriptにはかなり新しいです。私は、javascript reduceと混同しています。 これは私がこのように、この配列の値を追加したいjavascriptで多次元配列の値を追加するには?

var result = [ 
      [ 0, 4, 22 ]//26, 
      [ 0, 9, 19 ]//28 
      ] 

私の配列値である..私はこのように、この値を追加する必要が

[ 
    [26], 
    [28] 
    ] 

そして再び...

26+28=54 

これは私の試行ですこれは私に未定義を与えます..

var sum = result.map((data) => { 
    data.reduce(function (total ,curr) { 
     return total+curr 
    }) 
}); 
console.log(sum) 

答えて

5

あなたは最後の部分の質問に答えるためにブロック文

var sum = result.map(data => { 
    return data.reduce(function (total, curr) { 
// ^^^^^^ 
     return total + curr; 
    }); 
}); 

またはブロック・ステートメント

var sum = result.map(data => data.reduce((total, curr) => total + curr)); 

せずにreturn文を必要とする、私は値を追加するための関数を作成し、コールバックとして使用することをお勧めArray#reduce。単一の式と矢印機能で

var add = (a, b) => a + b, 
 
    result = [[0, 4, 22], [0, 9, 19]], 
 
    sum = result.map(a => a.reduce(add)), 
 
    total = sum.reduce(add); 
 

 
console.log(sum); 
 
console.log(total);
.as-console-wrapper { max-height: 100% !important; top: 0; }

+0

、暗黙の 'return'があります。 – Pointy

+0

恐ろしいおなら – Nane