JavaScript中如何将数组元素按批次分配给6个固定变量
JavaScript实现数组按批次分配给6个固定变量
实现思路
因为数组长度始终为6的倍数,直接按步长6遍历数组,每轮截取当前位置开始的6个元素,通过数组解构赋值给6个变量即可。
代码实现
基础版(按批次直接赋值使用)
const array = ["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18"]; // 步长为6遍历数组 for (let i = 0; i < array.length; i += 6) { // 截取当前批次6个元素,按顺序解构赋值给6个变量 const [var1, var2, var3, var4, var5, var6] = array.slice(i, i + 6); // 当前批次的业务逻辑写在这里,可直接使用var1到var6 console.log(`第 ${i/6 +1} 批次:`, {var1, var2, var3, var4, var5, var6}); }
进阶版(存储所有批次的赋值结果后续使用)
如果需要后续调用不同批次的变量值,可以把每批次的结果存到数组中:
const array = ["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18"]; const allBatches = []; for (let i = 0; i < array.length; i += 6) { const [var1, var2, var3, var4, var5, var6] = array.slice(i, i + 6); allBatches.push({var1, var2, var3, var4, var5, var6}); } // 调用示例:获取第2批次的var1值(下标从0开始,所以第2批次对应下标1) console.log(allBatches[1].var1); // 输出7
逻辑说明
array.slice(i, i + 6)会返回从索引i开始,到索引i+6之前的子数组,刚好包含6个元素- 数组解构赋值会按子数组的顺序,依次把元素赋值给
var1到var6,完全符合要求的分配规则 - 该实现兼容任意6的倍数长度的数组,不需要额外做长度判断
内容的提问来源于stack exchange,提问作者Atul Sagar
相关产品推荐
相关产品推荐

