Здравствуйте! Хочу написать функцию, которая выявляет наличие ошибки в форме не смотря на глубину вложенности данных.
Код:
const filterErrors = (obj) => {
if (!obj) return false;
const array = Array.isArray(obj) ? obj : Object.values(obj);
if (!array.length) return false;
else {
for (let item of array) {
if (typeof item === 'string' && item) {
console.log('here');
return true;
}
else filterErrors(item)
}
}
return false;
};
Функция работает, но к сожалению, не всегда, когда мне приходит что-то типа,
{
data: [
{name: 'first', value: 'hello'},
{name: 'second', value: 'hello2'},
]
}
Функция возвращает false, даже не смотря на то, что строчка перед return true срабатывает и выводит в консоль here. Почему функция так работает и как это поправить? Заранее, спасибо за любую помощь!