如何从包含方括号的字符串访问对象属性

时间:2019-02-19 21:29:37

标签: javascript

在javascript中,我试图解析给定的包含方括号的字符串,指示对象属性涉及从对象获取值。

对象属性为someobj.pform.options.foo = "somestring";

使用javascript / jQuery,我该怎么做?我在下面设计的方法遇到的问题并未在循环内重新分配对象。

var uiobject = {};
uiobject.name = "options[foo]";

var objectvalue = "";
var props = uiobject.name.replace(/\]/g, '').split('[');
var temp = someobj.pform;

for(var z=0;z<props.length;z++) {
    if(temp.hasOwnProperty[ (props[z]) ]) {
        if(z == (props.length - 1)) {
            objectvalue = temp[ props[z] ];
        } else {
            temp = temp[ (props[z]) ];
        }
    }
}
console.log("value: "+objectvalue);

1 个答案:

答案 0 :(得分:1)

似乎您可能误会了var event = new CustomEvent( 'myCustomEvent', { detail: { 'param1': 1, 'param2': 2 } } ); document.dispatchEvent(event); 。如果否定谓词(或完全删除该块),它将起作用:

hasOwnProperty