【发布时间】:2017-11-29 10:44:16
【问题描述】:
我正在尝试实现一个通用方法来动态访问嵌套对象属性。
属性的路径必须在字符串数组中。
所以要获得标签,字符串数组将是['type', 'label']
我有点卡在这个问题上,有什么帮助吗?
**编辑片段:**
演示
var parent = {
type: {
id: "2",
label: "3",
}
};
function getNestedLabel(ids){
if (ids.length === 1) {
return parent[ids[0]];
}
var result = parent;
for (let i = 0; i < ids.length; i++) {
result = result[ids[i]];
}
return result;
}
console.log(getNestedLabel(["type", "label"]));
【问题讨论】:
-
getNestedObject的输入参数是什么,如何访问parent对象进行遍历? -
为什么要重新发明轮子? npmjs.com/package/nested-property
-
Hi id 是一个字符串数组对吗?
-
你可能想看看这个lodash.com/docs/#get。
-
@blueren 我不能使用这种模块,因为我使用的是字符串数组而不是带点的字符串。我们的想法是构建这个:例如 parent['type']['id']
标签: javascript angular typescript