大きな配列を小さなチャンクに分割しようとしています。
次に例を示します。
var data = [ { number: '184805871' },
{ number: '3418400730' },
{ number: '2047901973' },
{ number: '5038880529' },
{ number: '5040293507' },
{ number: '5044243187' },
{ number: '5078304520' },
{ number: '5085466763' },
{ number: '5145133307' },
{ number: '5197540781' },
{ number: '5199065039' },
{ number: '5208120208' },
{ number: '5212123861' },
{ number: '5212383329' },
{ number: '5214353364' },
{ number: '5229836037' }
];
私の配列はこれよりもはるかに長いです。これは単なる例です。だから私はPHPのarray_chunk関数に精通しており、php.jsで見つけました
function array_chunk (input, size, preserve_keys) {
var x, p = '', i = 0, c = -1, l = input.length || 0, n = [];
if (size < 1) {
return null;
}
if (Object.prototype.toString.call(input) === '[object Array]') {
if (preserve_keys) {
while (i < l) {
(x = i % size) ? n[c][i] = input[i] : n[++c] = {}, n[c][i] = input[i];
i++;
}
}
else {
while (i < l) {
(x = i % size) ? n[c][x] = input[i] : n[++c] = [input[i]];
i++;
}
}
}
else {
if (preserve_keys) {
for (p in input) {
if (input.hasOwnProperty(p)) {
(x = i % size) ? n[c][p] = input[p] : n[++c] = {}, n[c][p] = input[p];
i++;
}
}
}
else {
for (p in input) {
if (input.hasOwnProperty(p)) {
(x = i % size) ? n[c][x] = input[p] : n[++c] = [input[p]];
i++;
}
}
}
}
return n;
}
それよりも簡単にこれを行う方法はありますか?
これが私のコードです:
var chunks = array_chunk(data, 3);
jQuery.each(chunks, function(index, value) {
console.log(index + ': ' + value);
});
[Object] ではなく、number から console.log への値を取得するにはどうすればよいですか? value[0] などを試しましたが、うまくいきません..
配列ごとに 3 つに分割された配列ごとに、配列からインデックスと値を取得する必要があります。
これどうやってするの?