输出对象以及属性名,取得属性值
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'))