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
相关产品推荐
相关产品推荐

