Javascript 将对象数组合并/组合到单个对象中
我有一个带有键值的对象,每个键值都包含一个对象数组:Javascript 将对象数组合并/组合到单个对象中,javascript,arrays,Javascript,Arrays,我有一个带有键值的对象,每个键值都包含一个对象数组: var obj = { "0": [ { "category": "A", "index": 0, "property": "Name", "value": "Bob" }, { "cat
var obj = {
"0": [
{
"category": "A",
"index": 0,
"property": "Name",
"value": "Bob"
},
{
"category": "A",
"index": 0,
"property": "Surname",
"value": "Dylan"
}
],
"1": [
{
"category": "A",
"index": 1,
"property": "Name",
"value": "Elvis"
},
{
"category": "A",
"index": 1,
"property": "Surname",
"value": "Presley"
}
]
}
我将如何将对象合并到一个数组中,并在其中组合对象?目标是让结果返回以下内容:
var obj2 = [
{
"category": "A",
"index": 0,
"property": "Name",
"value": "Bob"
},
{
"category": "A",
"index": 0,
"property": "Surname",
"value": "Dylan"
},
{
"category": "A",
"index": 1,
"property": "Name",
"value": "Elvis"
},
{
"category": "A",
"index": 1,
"property": "Surname",
"value": "Presley"
}
]
我曾尝试使用LoDash union和join,但没有任何效果。假设您的示例是错误的,它实际上如下所示(因为您输入的内容甚至无效),您可以只使用
Object.values(obj.flat()
var obj={
"0": [{
“类别”:“A”,
“索引”:0,
“属性”:“名称”,
“值”:“鲍勃”
}],
"1": [{
“类别”:“A”,
"索引":1,,
“属性”:“名称”,
“价值”:“杰西卡”
}]
}
console.log(Object.values(obj.flat())
您是否考虑过使用Object.values(obj)
此外,“输入”和“输出”对象都有语法错误。请您修理一下好吗?谢谢@evolutionxbox。我已经尝试过了,但是它仍然返回多个数组,而不是一个包含组合对象的数组。如果它返回多个数组,则可以使用.flat()
展平这些数组<代码>[[1,2],[3,4]].flat()/[1,2,3,4]第一个对象怎么可能呢?我在试图使obj等于第一个东西时遇到语法错误。抱歉,我睡得不多。语法已更正。