JavaScript如何将扁平数组按每两项分组生成对应键值对象
实现思路
原数组为每两个元素一组的一维结构,只需按步长2遍历数组,将每组两个元素拼成子数组,绑定到对应序号的对象键上即可完成转换。
代码实现
1. 基础for循环实现(可读性最高)
// 你的原始数组 const sourceArr = [ "0.001234", "2021-07-14 08:24:30", "0.001245", "2021-07-14 01:04:24" // 其余元素 ]; const result = {}; // 步长为2遍历,每次处理一组元素 for (let i = 0; i < sourceArr.length; i += 2) { // 可选:增加边界判断,避免数组长度为奇数时出现undefined if (sourceArr[i + 1] === undefined) break; const groupIndex = i / 2; result[groupIndex] = [sourceArr[i], sourceArr[i + 1]]; }
2. reduce方法实现(更简洁的函数式写法)
const result = sourceArr.reduce((acc, currentVal, index) => { // 仅处理每组的起始位置(偶数下标) if (index % 2 === 0 && sourceArr[index + 1] !== undefined) { acc[index / 2] = [currentVal, sourceArr[index + 1]]; } return acc; }, {});
内容的提问来源于stack exchange,提问作者provsalt
相关产品推荐
相关产品推荐

