Функция forEach
не возвращает значение. Вам было бы лучше использовать find
. На данный момент неясно, что вы хотите сделать со своим l oop, поэтому я предполагаю, что вы пытаетесь вернуть значение, основанное на условии.
С MDN
forEach () выполняет функцию обратного вызова один раз для каждого элемента массива; в отличие от map () или redu (), он всегда возвращает значение undefined и не является цепным. Типичный вариант использования - выполнение побочных эффектов в конце цепочки.
Кроме того, неправильный способ вызова вашей функции. Вы устанавливаете переменную внутри обратного вызова, но никогда не возвращаете переменную. Функция test
ничего не возвращает. Следовательно, вы получаете неопределенное значение.
Вы должны вернуть значение функции find
.
const list = [1, 2, 3];
const test = () => {
return list.find(item => {
if(/* some condition */ item > 1) {
return item
}
})
}
const rs = test()
console.log(rs)