我正在尝试将更大的数组分成更小的块。
这是一个例子:
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);
});
如何从数字获取值到 console.log 而不是 [Object]?我尝试了 value[0] 等,但它不起作用..
对于每个数组分成 3 个的每个数组,我需要从数组中获取索引和值。
我怎样才能做到这一点?