javascriptで配列の部分配列をsliceで出せるのだが、それだけじゃ不満なので、配列を行列に変換してみた。 テーブルや、ページング作るのにあれば便利だろう。
Array.prototype.chunk = function(n){ len = Math.round(this.length/n,10) ret = [] for(var i=0;i<len;i++){ ret.push( this.slice( i*n, i*n+n ) ) } return ret; }
配列を配列に分ける。
> [9,8,7,6,5,4,3,2,1,0].chunk(2) [ [ 9, 8 ], [ 7, 6 ], [ 5, 4 ], [ 3, 2 ], [ 1, 0 ] ] > [9,8,7,6,5,4,3,2,1,0].chunk(1) [ [ 9 ], [ 8 ], [ 7 ], [ 6 ], [ 5 ], [ 4 ], [ 3 ], [ 2 ], [ 1 ], [ 0 ] ] > [9,8,7,6,5,4,3,2,1,0].chunk(3) [ [ 9, 8, 7 ], [ 6, 5, 4 ], [ 3, 2, 1 ] ] > [9,8,7,6,5,4,3,2,1,0].chunk(4) [ [ 9, 8, 7, 6 ], [ 5, 4, 3, 2 ], [ 1, 0 ] ] >
意外と便利かもしれない。