我需要将符号(例如'main:message:new')转换为引用的对象属性(resource[main][message][new])。
var notation = 'main:message:new';
var ressource = {
message: { new: 'something' }
};
var splitKeys = function(keys, object) {
var keys, pointer;
pointer = object;
keys = keys.split(':');
for (i = 0; i < keys.length; i++) {
// here is the error
if (pointer[keys[i]] === undefined) break;
pointer = pointer[keys[i]];
}
return pointer;
};
console.log(splitKeys(notation, ressource));
如您所见,我在错误处理方面遇到了问题。如果有与具体资源不匹配的资源符号,我不想返回任何内容。不幸的是,我总是抛出一个错误'无法读取未定义的未定义属性'......