例如:obj['a.b.c']
当然可以。在JavaScript中,你可以使用方括号([]
)语法来通过字符串访问对象的属性。例如,如果你有一个对象如下:
var obj = {
a: {
b: {
c: "value"
}
}
};
你可以使用字符串 "a.b.c"
来获取 "value"
,如下所示:
var path = "a.b.c";
console.log(obj[path]); // 输出 "value"
在这个例子中,obj['a.b.c']
等价于 obj['a']['b']['c']
。如果你尝试访问不存在的属性,JavaScript会返回 undefined
。
不可以, 但是可以写个方法:
let obj = {
a: {
b: {
c: 'value'
}
}
};
let key = 'a.b.c';
let value = key.split('.').reduce((acc, cur) => acc && acc[cur], obj);
console.log(value);
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
原生不支持,可以用
lodash
https://www.lodashjs.com/docs/lodash.get