得到嵌套key的方法
```js
// obj = { out: { in: { inner: 1 } } },expr = out.in.inner
// => 1
function getValue(obj, expr) {
// 没有传key的话返回对象就好
if (!expr) {
return obj;
}
// 多重key解析放进数组
let keys = expr.split(".");
// value是迭代的值
let value = obj;
// for更容易终止循环
for (let i = 0; i < keys.length; i++) {
let curKey = keys[i];
// 这里特别注意,当key不存在的时候,就需要终止
if (!(curKey in value)) {
return;
}
// 层层迭代
value = value[curKey];
}
return value;
}
```
```js
// obj = { out: { in: { inner: 1 } } },expr = out.in.inner
// => 1
function getValue(obj, expr) {
// 没有传key的话返回对象就好
if (!expr) {
return obj;
}
// 多重key解析放进数组
let keys = expr.split(".");
// value是迭代的值
let value = obj;
// for更容易终止循环
for (let i = 0; i < keys.length; i++) {
let curKey = keys[i];
// 这里特别注意,当key不存在的时候,就需要终止
if (!(curKey in value)) {
return;
}
// 层层迭代
value = value[curKey];
}
return value;
}
```
展开
8
6