【Underscore.js】_.zipを読んだ
jashkenas/underscoreの_.zipを読んだ。
概要
_.zip(*arrays)
引数である各配列のindex値の値をまとめた配列を作る。返される配列のlengthは引数の中で1番長いlengthを持つ配列と同じ長さになる。
var x = _.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]); console.log(x); // [["moe", 30, true], ["larry", 40, false], ["curly", 50, false]]
ソースコード
_.zip = function() { return _.unzip(arguments); }; _.unzip = function(array) { var length = array && _.max(array, getLength).length || 0; var result = Array(length); for (var index = 0; index < length; index++) { result[index] = _.pluck(array, index); } return result; };
下記のコードで、引数のそれぞれの配列に対し、そのindex番目を結果にいれている。
for (var index = 0; index < length; index++) { result[index] = _.pluck(array, index); }