基本上,我想使用Javascript(最好是ES6)将对象内部的数组展平。我实际上不确定这是否是个扁平化的问题,我只是想要一种进行此更改的好方法。
我想从这里出发:
{
id: "123",
name: "test",
history: [
{
id: "456",
name: "test2"
},
{
id: "789",
name: "test3"
}
]
}
对此...
{
id: "123",
name: "test"
},
{
id: "456",
name: "test2"
},
{
id: "789",
name: "test3"
}
基本上,在原始对象中,我具有与该特定对象相关的“历史”属性。有什么想法吗?
答案 0 :(得分:2)
您可以使用解构和rest语法来分隔历史记录和第一个对象,然后将它们组合为具有spread或concat的单个数组。
const { history, ...obj1 } = {"id":"123","name":"test","history":[{"id":"456","name":"test2"},{"id":"789","name":"test3"}]}
const result = [obj1, ...history]
console.log(result)
答案 1 :(得分:2)
尝试一下:
const data = {
"id": "123",
"name": "test",
"history": [
{
"id": "456",
"name": "test2"
},
{
"id": "789",
"name": "test3"
}
]
}
const {id, name, history} = data ;
const result = [{id, name} , ...history];
console.log(result);