先来看一下数据格式javascript
entity: {
id: '1',
description: '描述',
attributes: {
host: 'www.baidu.com',
port: '8080'
}
},
复制代码
咱们如今须要动态取 entiry['id'] 或者 entiry['attributes']['host']java
若是是一级的话:须要传入字符串 "id"数组
若是是二级的话:须要传入字符串 "attributes.host" 以此类spa
/** * @ filed 须要传入的字符串 * @ obj 须要传入查找的对象 */
function (filed, obj) {
// 须要把字符串截取成数组
let key = filed.split('.')
// 声明临时变脸
var tmp = obj
// 循环 key 知道多少层级
for (let value of key) {
// 好比 filed = 'id' 一次循环 tmp = 1
// 好比 filed = 'attributes.host' 这时候key = ['attributes', 'host'] 循环两次
// 当循环第一次的时候 tmp = attributes {...}
// 当循环第二次的时候 tmp = 'www.baidu.com'
tmp = tmp[value]
}
return tmp
}
复制代码