gpt4 book ai didi

当名称位于字符串中时,JavaScript 获取对象属性值

转载 作者:行者123 更新时间:2023-12-02 17:01:10 26 4
gpt4 key购买 nike

如果知道这应该有效:

var object = {
property: "value"
}
var propertyname = "property";
var propertyvalue = object[propertyname];

但是当对象看起来像这样时,如何使用 propertyname-variable 获取属性值?

var object = {
anotherObject: {
property: "value"
}
}
var propertyname = "anotherobject.property";
var propertyvalue = object[propertyname]; // This should not work...

编辑:按照建议,在这种情况下,属性名称可以用“.”分割。但如果它是任意级别怎么办?我可以以某种方式构建一个可以获取属性值的 for 循环吗?

最佳答案

OP 的代码不起作用,因为 object 中没有名为 anotherObject.property 的属性。有一个名为 anotherObject 的属性,其值是一个具有名为 property 的属性的对象。为此,您必须访问这些连续级别的属性。

此代码拆分复合属性名称,然后执行连续的属性访问。

var nameArray = propertyname.split('.');
var propertyvalue = object;
for (var i = 0; i < nameArray.length; i++) {
propertyvalue = propertyvalue[nameArray[i]];
}

关于当名称位于字符串中时,JavaScript 获取对象属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25705924/

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