2

私は Python に詳しくなく、関数を JavaScript に変換しようとしていますが、この行が何をするのかよくわかりません。

maxnum = sum(map(lambda x: x[1], tsweights))

ここでtsweights= [['5', 61], ['6', 61], ['7', 61], ... ].

これがどのように機能するのかわかりません。誰かが助けてくれれば素晴らしいと思います。

フル機能: http://pastebin.com/PZqRAz0Z

4

4 に答える 4

4

いくつかのヒントから始めましょう。

lambda x: x[1]これと同じことを行う無名関数です。

function foo(x) {
    return x[1];
}

map()と同等Array.mapです。私はあなたが何をするかを理解できると思いますsum()

関連する Python ドキュメント:

于 2013-04-15T13:57:13.357 に答える
1

JavaScript ではこれに似ています...

var tsweights = [['5', 61], ['6', 61], ['7', 61], ... ];
var maxnum = 0;
for (var i in tsweights)
{
    maxnum += tsweights[i][1];
}
于 2013-04-15T13:59:07.077 に答える
0

その関数は次のように書き直すことができます。

sum = 0
for item in tsweights:
    sum += item[1]

tsweights=の場合[['5', 61], ['6', 61], ['7', 61], ... ]、関数は を返し61 + 61 + 61 + ...ます。

于 2013-04-15T13:58:22.150 に答える
0

Matt Ballの答えに追加するだけです:

 var tsweights = [['5', 61], ['6', 61], ['7', 61], ... ]    
 , maxnum = tsweights.map(function(x){ return x[1] })
                     .reduce(function( p, c ){ return p+c })

JavaScript には sum 関数がありません。

または、es の新しい矢印関数を使用します。

 var tsweights =  [['5', 61], ['6', 61], ['7', 61], ... ]
   , maxnum = tsweights.map( x => x[1] ).reduce ( (p,c) => p+c )
于 2013-04-15T14:02:54.213 に答える