JavaScript如何将多索引对应的对象数组合并为单个对象数组
多索引对象数组合并实现方案
需求说明
现有如下结构的数据集:
{ 0: [{}, {}], 1: [{}, {}], 2: [{}] }
需要将索引0、1、2对应的所有对象数组合并为一个一维对象数组,最终输出为[{}, {}, {}, {}, {}]。
代码实现(JavaScript)
方法1:极简写法(适配现代运行环境)
通过Object.values提取所有子数组后直接展开:
const sourceData = { 0: [{}, {}], 1: [{}, {}], 2: [{}] }; const mergedResult = Object.values(sourceData).flat();
方法2:兼容性写法(适配低版本运行环境)
手动遍历合并,无需依赖高版本语法:
const sourceData = { 0: [{}, {}], 1: [{}, {}], 2: [{}] }; const mergedResult = []; for (const idx in sourceData) { mergedResult.push(...sourceData[idx]); }
结果验证
两种方法最终输出的合并结果均符合预期,为包含5个对象的一维数组:[{}, {}, {}, {}, {}]
内容的提问来源于stack exchange,提问作者Sundar
相关产品推荐
相关产品推荐

