gpt4 book ai didi

Javascript将带有子对象的对象转换为数组

转载 作者:行者123 更新时间:2023-11-30 08:48:19 25 4
gpt4 key购买 nike

我有一个包含子对象的对象。我需要将它转换成数组:

var myObj = {
a: 5,
b: 6,
c: {
a: {
a: {
a: 7
}
}
},
d: {
a: {
a: 8,
b: 9,
c: {
a: 10
}
},
b: 11
}
}

像这样:

myArray = [
a: 5,
b: 6,
c: [
a: [
a: [
a: 7
]
]
],
d: [
a: [
a: 8,
b: 9,
c: [
a: 10
]
],
b: 11
]
];

实现此目标的最佳方法是什么?

最佳答案

正如您在评论中提到的,您似乎遇到了 XY 问题。你想要 X,却向我们要 Y 而不是认为它会帮助你,但实际上 Y 比 X 更难解决。

在 JavaScript 中有两种访问对象属性的方法:

  • obj.prop
  • obj['prop']

这两种访问方式的区别是第二种更通用,可以使用一些受限制的关键字作为属性名,可以使用变量访问值等。

要访问您的嵌套属性,您可以执行以下操作(任何选项都可以):

  • myObj.c.a.a.a
  • myObj['c']['a']['a']['a']

您甚至可以混合使用它们:myObj.c['a'].a['a'],尽管它可能更令人困惑,所以您应该避免使用它。

JS 中的数组也是对象,它有更多的功能来处理带有数字名称的属性。您似乎不需要任何这些功能,因此您可能不需要数组。

关于Javascript将带有子对象的对象转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19908935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com