我正在构建一个实用程序函数,该函数应该搜索属性名称并在找到后返回其值。它应该递归地执行此操作:
// Function
util.findVal = (object, propName) => {
for (let key in object) {
if (key === propName) {
console.log(propName)
console.log(object[key])
return object[key]
} else {
util.findVal(object[key], propName)
}
}
}
// Input
object: {
photo: {
progress: 20
}
}
// Usage
util.findVal(object, 'progress')
然而,控制台日志永远存在并且浏览器崩溃。我究竟做错了什么?
编辑:
这就是我调用函数的方式:
// Input
item: {
photo: {
file: {},
progress: 20
}
}
this.findProgress(item)
methods: {
findProgress (item) {
return util.findVal(item, this.propName)
}
}