unzip() | Underscore JS 日本語リファレンス

引数である各配列のindex値の値をまとめた配列を作る。返される配列のlengthは引数の中で1番長いlengthを持つ配列と同じ長さになる。

■使用例

var arr001 = ["moe", "larry", "curly" ];
var arr002 =  [30, 40, 50, 60];
var arr003 = [true, false, false, true, false];
var re = _.zip( arr001, arr002, arr003 );
// un_re = [ ["moe","larry","curly",null,null], [30,40,50,60,null], [true,false,false,true,false] ];
var un_re = _.unzip( re );

■内部構造

  _.unzip = function(array) {

// それぞれの引数(配列)の中で1番大きい length の値が length になる。
    var length = array && _.max(array, "length").length || 0;

// 結果用の配列作成。 
    var result = Array(length);

// _.pluck() により各配列のそれぞれの index の値を抽出した配列をresult配列に格納する。 
    for (var index = 0; index < length; index++) {
      result[index] = _.pluck(array, index);
    }
    return result;
  };

このページのトップへ戻る