Javascript 通过多级字符串值获取JS对象引用
我不确定是否可以通过JavaScript实现这一点,所以我在这里寻求帮助 我有一个字符串:Javascript 通过多级字符串值获取JS对象引用,javascript,Javascript,我不确定是否可以通过JavaScript实现这一点,所以我在这里寻求帮助 我有一个字符串: var value = 'level1.level2.level3'; 我有一个目标: var object = { level1 : { level2 : { level3 : 0 }, }, } 是否可以使用字符串值而不仅仅是特定对象键的值来获取对该对象的引用。使用遍历函数但不使用引用,以便可以使用它进行操作 我已经检查过了
var value = 'level1.level2.level3';
我有一个目标:
var object = {
level1 : {
level2 : {
level3 : 0
},
},
}
是否可以使用字符串值而不仅仅是特定对象键的值来获取对该对象的引用。使用遍历函数但不使用引用,以便可以使用它进行操作
我已经检查过了,我确信这不是一个重复的问题,因为在重复版本中,解析函数的结果将是对象键值,而不是对象键值本身 函数getValue(对象、路径){
function getValue(object, path) {
var array = path.split('.');
var current = object;
for (var i = 0; i < array.length; i++) {
current = current[array[i]];
}
return current;
}
var数组=path.split('.');
无功电流=对象;
对于(var i=0;i
使用示例var x=getValue(对象,值)代码>一个班轮:
[ob].concat(value.split('.')).reduce(function(a, b) { return a[b] })
样本:
Object.prototype.getValue=函数(路径){
返回[this].concat(path.split('.').reduce(函数(a,b){返回a[b]});
}
//用法:
警觉的((
{
第1级:{
第2级:{
三级:0
},
},
}).getValue('level1.level2.level3')代码>虽然我讨厌使用eval
,但如果您对值有绝对的把握,您可以尝试一下:
var对象={
第1级:{
第2级:{
第三级:“文本”
}
}
};
var值='level1.level2.level3';
$('.result').text(eval('object.'+value))代码>
恐怕你得写出来谢谢,这正是我需要的。