Skip to content

Instantly share code, notes, and snippets.

@brothertao
Created January 3, 2014 01:33
Show Gist options
  • Save brothertao/8230939 to your computer and use it in GitHub Desktop.
Save brothertao/8230939 to your computer and use it in GitHub Desktop.
安全获取对象属性值
function getAttrSafe(obj, keyChain, delimiter) {
delimiter = delimiter || '.';
if (!keyChain) { throw Error('keyChain should not be a empty value')};
var keys = keyChain.split(delimiter);
console.log(keys);
try {
for (var i = 0; i < keys.length; i++) {
obj = obj[keys[i]]
if (obj === undefined) { return null;};
};
return obj;
} catch (err) {
return null;
}
}
@brothertao
Copy link
Author

测试:
var aa={x:[{},{d:'x1d'}]}; getAttr(aa, 'x.0.d');

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment