【发布时间】:2020-08-28 04:51:10
【问题描述】:
我有以下对象数组。
const array = [{
field1: "val1",
field2: "val2",
field3: {
field1: "val1",
field2: "val2"
}
},
{
field1: "val1",
field2: "val2",
field3: {
field1: "val1"
}
}]
我需要低于输出
const output = [{
key: "field1",
subkeys: []
},
{
key: "field2",
subkeys: []
},
{
key: "field3",
subkeys: ["field1", "field2"]
}]
我可以使用这个获得顶级字段
const keys = array.map(x => Object.keys(x)[0]);
但无法访问内部的。
请帮助...谢谢!!!
【问题讨论】:
-
你只有两层对象吗?
-
@DarkKnight: 是你预期的输出
const output = [[{key: "field1", subkeys: [] }, {key: "field2", subkeys: [] }, {key: "field3", subkeys: ["field1", "field2"] }], [{key: "field1", subkeys: [] }, {key: "field2", subkeys: [] }, {key: "field3", subkeys: ["field1"] }]]也就是数组数组吗?或者问题中提到的那个 -
@DhivyaDandapani 如问题所述。不是数组数组
-
@DarkKnight:谢谢。但是到目前为止选择的答案似乎并没有返回预期的答案。您还在寻找准确的答案吗?
-
@DarkKnight:您能否也发布一个多级嵌套 json 的示例输入输出?我发布了一个答案。我可以根据您的要求修改它
标签: javascript arrays dictionary object