如何在JavaScript中将两个一维数组转为二维数组以使用Object.fromEntries
实现数组转换及目标对象生成的方法
方法一:通过map对应索引生成entries数组
如果keys和values数组长度一致,可使用Array.map()遍历keys,同时取对应索引的values元素组合成二维数组,再通过Object.fromEntries()转成目标对象:
const keys = ['a', 'b', 'c']; const values = [[], [], []]; // 生成entries二维数组 const entries = keys.map((key, index) => [key, values[index]]); // 生成目标对象 const x = Object.fromEntries(entries);
方法二:直接生成(无需单独的values数组)
由于你的values元素都是空数组,完全可以省略values数组,直接在map里生成空数组,代码更简洁:
const keys = ['a', 'b', 'c']; // 一步生成目标对象 const x = Object.fromEntries(keys.map(key => [key, []]));
注意事项
- 确保
keys和values数组长度一致,否则会出现索引不匹配的情况;如果长度不一致,可通过Math.min(keys.length, values.length)限制遍历长度,避免取到undefined。
内容的提问来源于stack exchange,提问作者TungTung
相关产品推荐
相关产品推荐

