鉴于这样的对象:
var obj = {
first:{
second:{
third:'hi there'
}
}
};
Run Code Online (Sandbox Code Playgroud)
像这样的关键"first.second.third"
如何获取嵌套对象的值"hi there"?
我想也许Array.reduce函数可能会有所帮助,但不确定.
是的,Array.prototype.reduce你可以得到一个甜蜜而短暂的功能:
function getNestedValue(obj, key) {
return key.split('.').reduce(function (a, b) { return a[b]; }, obj);
}
getNestedValue(obj, "first.second.third"); // "hi there"
Run Code Online (Sandbox Code Playgroud)
一些说明:
Array.prototype.reduce是ECMAScript第5版的一部分,除了IE之外的所有浏览器都可以使用,您可以在这里包含一个实现.obj['my.key'] = 'value';| 归档时间: |
|
| 查看次数: |
344 次 |
| 最近记录: |