将包含更多对象的对象转换为数组
Convert an object containing more objects into an array
这就是我正在使用的:
let object = {
'A':{
"a": {
"1": "2",
"3": "4"},
"b": {
"3": "4",
"5": "6"}
},
'B':{
"c": {
"7": "8",
"9": "10"},
"d": {
"11": "12",
"13": "14"}
}
}
我一直在尝试计算我的输出结果,使其看起来像这样
result = [
{"a": {"1": "2", "3": "4"}},
{"b": {"3": "4", "5": "6"}},
{"c": {"7": "8", "9": "10"}}
{"d": {"11": "12", "13": "14"}}
]
我已经尝试了以下与我正在寻找的更接近但不相同的方法:
Object.entries(object).map(([key, value]) => {
return 值
})
可以使用 2 forEach
let object = {
'A':{
"a": {
"1": "2",
"3": "4"},
"b": {
"3": "4",
"5": "6"}
},
'B':{
"c": {
"7": "8",
"9": "10"},
"d": {
"11": "12",
"13": "14"}
}
}
let res = []
Object.values(object).forEach((value) => {
Object.entries(value).forEach((el) => {
res.push({[el[0]]: el[1]})
})
})
console.log(res)
试试这个:
Object.values(object)
.flatMap(a => Object.entries(a))
.map(([k, v]) => ({ [k]: v }))
编辑为使用@Thomas 的最后一个 map
想法,而不是使用 Object.fromEntries
试试这个
let object = {
'A':{
"a": {"1": "2", "3": "4"},
"b": {"3": "4", "5": "6"}
},
'B':{
"c": {"7": "8", "9": "10"},
"d": {"11": "12", "13": "14"}
}
};
let arr = Object.entries(Object.assign({}, ...Object.values(object))).map(([k, v]) => ({[k]: v}));
console.log(arr)
这就是我正在使用的:
let object = {
'A':{
"a": {
"1": "2",
"3": "4"},
"b": {
"3": "4",
"5": "6"}
},
'B':{
"c": {
"7": "8",
"9": "10"},
"d": {
"11": "12",
"13": "14"}
}
}
我一直在尝试计算我的输出结果,使其看起来像这样
result = [
{"a": {"1": "2", "3": "4"}},
{"b": {"3": "4", "5": "6"}},
{"c": {"7": "8", "9": "10"}}
{"d": {"11": "12", "13": "14"}}
]
我已经尝试了以下与我正在寻找的更接近但不相同的方法: Object.entries(object).map(([key, value]) => { return 值 })
可以使用 2 forEach
let object = {
'A':{
"a": {
"1": "2",
"3": "4"},
"b": {
"3": "4",
"5": "6"}
},
'B':{
"c": {
"7": "8",
"9": "10"},
"d": {
"11": "12",
"13": "14"}
}
}
let res = []
Object.values(object).forEach((value) => {
Object.entries(value).forEach((el) => {
res.push({[el[0]]: el[1]})
})
})
console.log(res)
试试这个:
Object.values(object)
.flatMap(a => Object.entries(a))
.map(([k, v]) => ({ [k]: v }))
编辑为使用@Thomas 的最后一个 map
想法,而不是使用 Object.fromEntries
试试这个
let object = {
'A':{
"a": {"1": "2", "3": "4"},
"b": {"3": "4", "5": "6"}
},
'B':{
"c": {"7": "8", "9": "10"},
"d": {"11": "12", "13": "14"}
}
};
let arr = Object.entries(Object.assign({}, ...Object.values(object))).map(([k, v]) => ({[k]: v}));
console.log(arr)