You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js中如何消除JSON数组的双层方括号嵌套?

解决maindata.details数组双层嵌套的问题

嘿,我懂你碰到的麻烦了:你想把arra里的对象直接放进maindata的details数组里,结果却出现了讨厌的双层方括号嵌套。咱们来拆解下问题,然后给你最简洁的解决办法。

问题原因

你当前的代码是这样的:

maindata.details = [];
maindata.details.push(arra);

这里的问题在于,arra本身已经是一个数组了。当你用push(arra)时,相当于把整个arra数组作为单个元素塞进了details数组里,自然就形成了[ [ ... ] ]的双层嵌套结构。

最优解决方法

有两种非常直接的方式可以得到你想要的单层数组:

方法1:直接赋值(最简洁)

既然arra本身就是你需要的details数组结构,直接把它赋值给maindata.details就行,完全不需要先创建空数组再push:

maindata.details = arra;

方法2:使用扩展运算符push(如果需要保留原数组操作逻辑)

如果你因为某些原因必须要先初始化空数组再添加元素,可以用ES6的扩展运算符...把arra里的每个元素单独push进去:

maindata.details = [];
maindata.details.push(...arra);

正确结果示例

不管用哪种方法,最终得到的maindata都会是你想要的结构:

{
  podTitel: 'AMD Ryzen 7 3700X, 8x 3.60GHz, boxed (100-100000071BOX)',
  podURL: 'https://xml/amd-ryzen-7',
  podDesc: 'Sockel: AM4 (PGA)',
  podStars: '4.9 von 5',
  details: [
    { TableTitel: 'Sockel', TableValue: 'AM4 (PGA)' },
    { TableTitel: 'Codename', TableValue: 'Matisse' },
    { TableTitel: 'iGPU', TableValue: 'N/​A' }
  ]
}

内容的提问来源于stack exchange,提问作者user1862965

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 22:53:13