
[code]

    // 2次元配列
    var arr =[
      [1,2,3],
      [2,3,4],
      [5,6,7]
    ]
    
[/code]

を↓のように2次元配列の各配列要素の合計を出したいのですが

[code]

    [
      [6],
      [9],
      [18]
    ]
    
[/code]

* * *
[code]

    var arr1 = arr.map(function(val){
      val.reduce(function(a,b){return a+b})
    })
    
[/code]

で求める答えと合致するとおもったのですが、  
結果は `[null,null,null]` です。  
わかる方がいらっしゃいましたら、ご回答お願いいたします。


CC BY-SA 3.0
2017-08-17T09:52:03.537
37278
2017-08-17T11:06:48.567
2017-08-17T11:05:40.203
3054
23889
question
javascript
バニラJSで2次元配列をmap,reduceで変換するには


mapの中の関数にreturnを加えれば、正しく動くと思います。

[code]

    var arr1 = arr.map(function(val){
        return val.reduce(function(a,b){return a+b})
    })
    
[/code]


CC BY-SA 3.0
2017-08-17T09:59:20.990
37280
2017-08-17T09:59:20.990
7414
37278
answer


うまくいきました。

[code]

    arr.map(function(val){
      return val.reduce(function(a,b){return a+b;})
    })
    
[/code]

ならうまくできました。

[code]

    arr.map(function(val){ return
       val.reduce(function(a,b){return a+b;})
    })
    
[/code]

`return` が上にあるとうまくいきませんでした。  
ありがとうございます


CC BY-SA 3.0
2017-08-17T10:04:40.427
37281
2017-08-17T11:06:48.567
2017-08-17T11:06:48.567
3054
23889
37278
answer