如何通过字符串路径来访问成员对象—“轻奢主义”
前言
通过字符串路径来访问成员对象
即使用’xxx.yyy.zzz’可以访问某一个对象的值
方案
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>你是我的小苹果</div>
<script>
var myobj ={
a:{
b:{
c:{
d:'小苹果'
}
}
}
}
// 通过字符串路径来访问成员对象
// 即使用'xxx.yyy.zzz'可以访问某一个对象的值
function getValByPath(obj,path) {
var path = path.split('.')
var res = obj
while(prop = path.shift()) {
res = res[prop]
}
return res
}
console.log(getValByPath(myobj,'a.b.c.d'))
</script>
</body>
</html>
打印结果:
总结
通过字符串路径来访问成员对象—“轻奢主义” ,哇哦~~~