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
@Barmar
eval('obj.scope[0].apple')
对甲烷储罐进行此操作失败!如果我想获取值而不是设置值,我如何使用eval实现这一点?
returneval(string)