输入对象以及属性名,获得属性值
eg:输入:data
, 'a/b/c'
const data = {
a: {
b: {
c:1,
d:2
}
}
}
输出:1
方法1:while
遍历
function findObjectValue(object, attribute) {
let arr = attribute.split('/')
let i = 0
while (arr[i]) {
object = object[arr[i]]
i++
}
return object
}
const data = {
a: {
b: {
c:1,
d:2
}
}
}
console.log(findObjectValue(data, 'a/b/c'))
方法2:eval
拼贴字符串
拼出来就是这样的,temp['a']['b']['c']
const findObjectValue = (data, attr) => {
let temp = data;
return eval(`temp['${attr.split('/').join(`']['`)}']`);
}
const data = {
a: {
b: {
c:1,
d:2
}
}
}
console.log(findObjectValue(data, 'a/b/c'))
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。