gpt4 book ai didi

带有变量的 Javascript 点符号

转载 作者:搜寻专家 更新时间:2023-11-01 04:46:47 27 4
gpt4 key购买 nike

不知道怎么说。

我正在尝试使用一个变量来确定深入到一个对象的深度以返回一个值。

var target = "level1.level2.var";
var myObject = {
level1: {
level2: {
var: 'value'
}
}
}
var returnVal = myObject.target;

这怎么可能?显然这行不通。有没有其他办法?

我想我可能不得不展开目标变量,然后在每个级别循环,但我想我会问一下是否有更简单的方法可以让我忽略。

最佳答案

你可以使用这个函数:

function get_property_from_target(obj, target){
var arr = target.split('.');
for(var i = 0; i < arr.length; i++){
if(obj)
obj = obj[arr[i]];
}
return obj;
}

然后这样调用它:

get_property_from_target(myObject, target);

我也会将该函数重命名为更好的名称。

此外,请不要将对象属性命名为 var,因为这是 Javascript 中的关键字,它可能会造成混淆,而且我不确定它是否会始终按您期望的方式工作,或者如果它只会在某些浏览器中导致错误。

关于带有变量的 Javascript 点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8620618/

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