Javascript 根据大小将阵列拆分为多个组&;返回二维数组
我见过使用push和slice的解决方案,但我希望使用嵌套循环来实现这一点。当数组中的元素数可以被大小整除时,此代码可以工作,但在其他情况下不工作Javascript 根据大小将阵列拆分为多个组&;返回二维数组,javascript,Javascript,我见过使用push和slice的解决方案,但我希望使用嵌套循环来实现这一点。当数组中的元素数可以被大小整除时,此代码可以工作,但在其他情况下不工作 let arr2d = []; function breakIt(arr, size){ if(arr.length % size === 0){ for (var i = 0; i < size; i++) { arr2d[i] = new Array(size); } console.log(a
let arr2d = [];
function breakIt(arr, size){
if(arr.length % size === 0){
for (var i = 0; i < size; i++) {
arr2d[i] = new Array(size);
}
console.log(arr2d);
let increm = 0;
for(let i = 0; i < (arr.length/size); i++){
for(let j = 0; j < size; j++){
arr2d[i][j] = arr[increm];
increm++;
//console.log(arr2d[i][j]);
}
}
} else {
console.log('Odd number of elements in arr');
}
console.log(arr2d);
}
breakIt(["a", "b", "c", "d"], 2);
breakIt(["a", "b", "c", "d", "e", "f"], 3);
breakIt([1, 2, 3, 4, 5, 6], 2);
//breakIt([0, 1, 2, 3, 4, 5], 4)should return [[0, 1, 2, 3], [4, 5]]
让arr2d=[];
功能中断(arr、大小){
如果(arr.length%size==0){
对于(var i=0;i
您也可以通过一个循环来实现:
逻辑:
- 循环数据
- 创建2个数组,
以获得最终输出结果
保存中间值temp
- 如果在
中推送了大量元素,则可以在结果中克隆并推送克隆的数据。对于任何尾随值,您还必须在循环结束后执行此操作temp
函数中断(数据,len){
常量结果=[];
设temp=[];
for(设i=0;i0){
结果.推送(临时切片());
温度=[];
}
温度推送(数据[i])
}
结果。推送(温度)
控制台日志(结果);
返回结果;
}
突破([“a”、“b”、“c”、“d”]、2);
突破点([“a”、“b”、“c”、“d”、“e”、“f”]、3);
breakIt([1,2,3,4,5,6],2);
breakIt([1,2,3,4,5,6],4)代码>请添加想要的结果和不起作用的内容。断开([“a”、“b”、“c”、“d”],2);突破点([“a”、“b”、“c”、“d”、“e”、“f”]、3);breakIt([1,2,3,4,5,6],2);breakIt([0,1,2,3,4,5],4)应返回[[0,1,2,3],[4,5]]当使用前三个函数调用函数但不使用最后一个函数时,代码会给出所需的结果。请编辑问题。