输入对象以及属性名,获得属性值
【实现深层对象属性访问】eg:输入:data
, 'a/b/c'
const data = https://www.it610.com/article/{
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 = https://www.it610.com/article/{
a: {
b: {
c:1,
d:2
}
}
}
console.log(findObjectValue(data,'a/b/c'))
方法2:
eval
拼贴字符串拼出来就是这样的,
temp['a']['b']['c']
const findObjectValue = https://www.it610.com/article/(data, attr) => {
let temp = data;
return eval(`temp['${attr.split('/').join(`']['`)}']`);
}const data = https://www.it610.com/article/{
a: {
b: {
c:1,
d:2
}
}
}
console.log(findObjectValue(data,'a/b/c'))
推荐阅读
- #yyds干货盘点#看动画学算法之:二叉搜索树BST
- 机器学习|机器学习之入门但门被焊死 分类KNN算法实现
- 二分查找
- 搜索插入的位置
- leetcode|优先级队列(堆)
- 【贪心算法】最小生成树
- 数据结构与算法|数据结构与算法——绪论
- 算法(动态规划(更新中))
- NLP 中文形近字相似度算法开源实现