Javascript 如何使用字符串作为选择器在对象中设置数据?
假设我有一个全局对象,它只能从一个只接受字符串的函数访问 以下是在函数中定义的Javascript 如何使用字符串作为选择器在对象中设置数据?,javascript,arrays,object,set,Javascript,Arrays,Object,Set,假设我有一个全局对象,它只能从一个只接受字符串的函数访问 以下是在函数中定义的 function setItem(string, val) { var scope = [{ apple : true, test : 'aa' },{ apple : false, test : 'bb' }]; var obj = { 'deep' : scope } obj.string =
function setItem(string, val) {
var scope = [{
apple : true,
test : 'aa'
},{
apple : false,
test : 'bb'
}];
var obj = {
'deep' : scope
}
obj.string = val;
return obj.string;
});
现在我想获取第一项,并覆盖数据
setItem('scope[0].apple','apple关闭'
)
显然,当试图设置变量时,上述方法不起作用,但我想知道是否有一种方法可以计算字符串值,该字符串值可以包含点标记和索引选择器?可以使用
eval
完成
函数集合项(字符串,val){
变量范围=[{
苹果:没错,
测试:“aa”
}, {
苹果:错,
测试:“bb”
}];
var obj={
“深”:范围
}
eval(string+'='+JSON.stringify(val));
返回eval(字符串);
};
警报(setItem('scope[0].apple','apple已关闭')
您可以使用eval
@Barmareval('obj.scope[0].apple')
对甲烷储罐进行此操作失败!如果我想获取值而不是设置值,我如何使用eval实现这一点?returneval(string)代码>