编写一个函数,将数组(第一个参数)拆分为大小(第二个参数)的长度组,并将它们作为多维数组返回
Write a function that splits an array (first argument) into groups the length of size (second argument) and returns them as a multidimensional array
我正在解决一个javascript问题,该问题要求我:编写一个函数,将数组(第一个参数)分成大小(第二个参数)的长度组,并将它们作为多维数组返回。例如,输入块([0,1,2,3,4,5],2)应该返回'块数组':[[0,1],[2,3],[4,5]]。我得到的错误是无法设置未定义的属性"0"。请帮助。
function chunk(arr, size) {
var k;
var a=[[]];
var num=0;
for(var j=0;j<(arr.length/size);j++){
for(var i=num,k=0; k<size ;i++,k++)
{
a[j][k]=arr[i];
}
num+=size;
}
return a;
}
chunk(["a", "b", "c", "d"], 2, "");
您可以使用 splice()
function chunk(arr, size) {
var a = [];
while (arr.length > 0) {
a.push(arr.splice(0, size));
}
return a;
}
console.log(chunk(["a", "b", "c", "d"], 2));
在你的代码中,你只初始化一个内部数组,相反,你需要初始化数组内的索引
for循环function chunk(arr, size) {
var k;
var a = [];
var num = 0;
for (var j = 0; j < (arr.length / size); j++) {
a[j] = [];
for (var k = 0; k < size; num++, k++) {
a[j][k] = arr[num];
}
}
return a;
}
console.log(chunk(["a", "b", "c", "d"], 2));
相关文章:
- 从node.js向CasperJS传递参数数组
- 如何从参数数组中调用回调
- 传递参数数组而不更改此项
- 在参数数组中传递整数数组
- 如何在JavaScript中获取字符串表示的参数数组
- 使用包含参数数组的数组调用函数,而不是仅列出数组
- JavaScript 修改 URL 参数数组
- 如何将参数数组传递给 JavaScript 中的另一个函数
- 传递参数数组
- 带有函数参数数组的闭包
- 将 JavaScript new 关键字与可变长度参数数组一起使用
- JavaScript:为什么更改参数变量会更改“参数”“数组”
- 如果使用参数数组调用,则日期会更改结果
- 试图理解Javascript中参数数组的概念
- Javascript:如何使用apply方法传递参数数组,然后在被调用的函数中访问它
- 发送单个参数与参数数组
- Array.from(arguments)是创建参数数组的一种可接受的方法
- 函数参数数组,如何影响reference =[]或reference.concat(array2)
- 在javascript中构建参数数组
- Javascript:是已弃用的参数数组