JS对象展平问题。想得到[{"a":12,"d":23},{"a":912,"d":923}]
let a=[{"a":12,b:{"d":23}},{"a":912,b:{"d":923}}]
let res = [{}]
for (var index = 0; index < a.length; index += 1) {
Object.keys(a[index]).forEach(key => {
if (typeof a[index][key] === "object") {
Object.keys(a[index][key]).forEach(
innerKey => {res[index][innerKey] = a[index][key][innerKey]}
)
}else{
console.log(a[index][key])
res[index][key] = a[index][key]
console.log(res)
}
})
}
请问我想把a展平,为什么上面那样写数组的第一个对象出来了,可是第二个出错了。谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你初始化只有一个空对象,到下一个对象也就是index为1的时候res里索引为1即res[1]=undefined,那你的else就报错了