Я создаю функцию утилиты, которая должна искать имя свойства и возвращать его значение после его обнаружения. Он должен делать это рекурсивно:
// 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')
Однако консольный журнал работает навсегда, и браузер выходит из строя. Что я делаю неправильно?
EDIT:
Вот как я вызываю функцию:
// Input
item: {
photo: {
file: {},
progress: 20
}
}
this.findProgress(item)
methods: {
findProgress (item) {
return util.findVal(item, this.propName)
}
}