js数组转换?

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,13, 14]; //未知数组多少长度

//分为5组 遍历arr 每次push到序列中  下面是预期结果  请问怎么实现好?


var list = {
  '0': [1,6,11],
  '1': [2,7,12],
  '2': [3,8,13],
  '3': [4,9,14],
  '4': [5,10],
}

或者

var list = {
  '0': [1,2,3],
  '1': [4,5,6],
  '2': [7,8,9],
  '3': [10,11,12],
  '4': [13,14],
}
阅读 1.2k
2 个回答
let arr = Object.keys(new Array(~~(Math.random()*100)).fill(0,1));
let list = {},j = 0;
for(let i = 0 ;i < Math.ceil(arr.length / 3); i++){
    list[i] = arr.slice(j,j+=3)
}

你前几天是不是还问过一个类似的问题?

我刚写完代码,问题就不见了。。

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,13, 14]; //未知数组多少长度

const size = Math.ceil(arr.length / 5);
Object.fromEntries(Array.from({length: 5}, (v, i) => [i, arr.slice(i * size, (i + 1) * size)]));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题