我有一个包含子对象作为子对象的对象.我需要将其转换为数组:
var myObj = {
a: 5,
b: 6,
c: {
a: {
a: {
a: 7
}
}
},
d: {
a: {
a: 8,
b: 9,
c: {
a: 10
}
},
b: 11
}
}
Run Code Online (Sandbox Code Playgroud)
像这样:
myArray = [
a: 5,
b: 6,
c: [
a: [
a: [
a: 7
]
]
],
d: [
a: [
a: 8,
b: 9,
c: [
a: 10
]
],
b: 11
]
];
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳方法是什么?
正如您的评论中所提到的,看起来您有XY问题.你想要X,但问我们Y而不是认为它会帮助你,但实际上Y比X更难解决.
在JavaScript中有两种方法可以访问对象的属性:
obj.propobj['prop']两种访问方式的区别在于第二种方式更通用,您可以使用一些受限制的关键字作为属性名称,您可以使用变量来访问值等.
要访问您的嵌套属性,您可以这样做(任何选项都可以):
myObj.c.a.a.amyObj['c']['a']['a']['a']你甚至可以混合它们:myObj.c['a'].a['a']虽然它可能更令人困惑,所以你应该避免它.
JS中的数组也是对象,它们具有一些处理具有数字名称的属性的功能.您似乎不需要任何这些功能,因此您可能不需要阵列.