2

この質問では、回答コードの 1 つが次のとおりです。

var arrays = [[1,2,3,4,5,6], [1,1,1,1,1,1], [2,2,2,2,2,2]];

_.map(_.zip.apply(_, arrays), function(pieces) {
     return _.reduce(pieces, function(m, p) {return m+p;}, 0);
});

何が関係しapply(_, arrays)ているのかわかりません。_

4

2 に答える 2

5

呼び出しはapply次と同等です

_.zip([1,2,3,4,5,6], [1,1,1,1,1,1], [2,2,2,2,2,2])

の最初の引数は、正しいコンテキスト (apply) で呼び出されることを確認します。これは通常、アンダースコアの名前空間-コンストラクター-関数-オブジェクトです。実際には関数で使用されていないため、省略して代わりにorを渡すこともできます。zipthis_zipnullundefined

于 2013-10-16T13:14:02.513 に答える
1

それにはあまり意味がありません_

公式ページのデモを参照してくださいhttp://underscorejs.org/#zip

ここでの要点はapply、2 番目の引数を引数として受け入れるarraysです。

実際_.zip(arr1, arr2, arr3)には同じです_.zip.apply( null,[arr1,arr2, arr3])

thisキーワードとして機能する最初の引数は何でもかまいません。の選択_はおそらくミームであり、の使用法を強調しています_。それに従ってください:) ここに画像の説明を入力

于 2013-10-16T13:17:24.997 に答える