美文网首页
js动态获取对象二级(多级)属性(值)-通用方法

js动态获取对象二级(多级)属性(值)-通用方法

作者: 初心不改_0055 | 来源:发表于2020-03-30 11:26 被阅读0次

    需求:a,b可以为变量,取到b的值1;

    var obj = {
        a: {
            b: 1
        }
    };
    var key = "a.b";
    

    方案:

    方案1

    eval("obj." + key);
    输出结果: 1
    

    方案2

    new Function("return " + ("obj." + key))();
    输出结果: 1
    

    方案3 - 通用方案(微信小程序不支持eval)

    var ev = function (data, str){
        let arr = str.split('.');
        let res = data;
        for(let i in arr){
          res = res[arr[i]];
        }
        return res;
    };
    ev(obj, key)
    
    输出结果: 1
    

    相关文章

      网友评论

          本文标题:js动态获取对象二级(多级)属性(值)-通用方法

          本文链接:https://www.haomeiwen.com/subject/wcwmuhtx.html