先來看一下數據格式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
}
複製代碼