我需要在javascript中获取/设置嵌套对象,我写了下面的setter,并且正在工作,我需要获取帮助: 可以说我有以下对象,我想要做一些事情像Javascript设置访问嵌套对象
var prop = get(object, ['complexObj', 'prop1']);
set(object, ['complexObj', 'prop1'], 'newValue');
var object = {
complexObj: {
'prop1': 'A'
'prop2': 'B'},
'prop3': 'C'
};
// helper function
var read = function(obj, prop)
{
if ((obj != null ? obj[prop] : void 0) == null)
{
return;
}
return obj[prop];
};
// The following methods allow contextManager data to be accessed either via array of property name parts like ['complexObj', 'subObj', 'subProp1']
var get = function (props) {
var current = properties;
var val;
for (var i = 0; i < props.length; i++) {
if (val = read(current, props[i])) {
current = val;
} else {
return '';
}
}
return current;
};
我徘徊,如果有一种方法可以做到这一点使用jQuery/lodash或另一个库,对象内部的,而不是循环? 另外我需要一点帮助。
你能不能简单地缩进你的代码?如果您需要,请使用http://jsbeautifier.org。 – 2013-04-28 15:57:27
请问您可以缩进吗?并更清楚地描述一下这个应该做什么? – Ryan 2013-04-28 15:57:31
为什么你不能只做'object.complexObj.prop1 =“newvalue”'? – Bart 2013-04-28 16:00:37