在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);
答案 0 :(得分:1)
似乎您可能误会了var event = new CustomEvent(
'myCustomEvent',
{ detail: { 'param1': 1, 'param2': 2 } }
);
document.dispatchEvent(event);
。如果否定谓词(或完全删除该块),它将起作用:
hasOwnProperty