Я пытаюсь вернуть искомый элемент через forEach, но, к сожалению, он не возвращает правильное значение, а через цикл for, может вернуть правильное значение после поиска.
function search(arr, searchValue) {
arr.forEach((_eachItem,i)=> {
if(_eachItem===searchValue) {
return i
}
})
return -1
// for(let i=0;i<arr.length;i++) {
// if(arr[i]===searchValue) {
// return i
// }
// }
// return -1
}
console.log(search([11,1,2,3,4,9],9))
0
chidananda
24 Ноя 2020 в 05:32
2 ответа
Лучший ответ
Возврат из обратного вызова forEach
не возвращается из внешней функции. Вы можете использовать Array#indexOf
.
function search(arr, searchValue) {
return arr.indexOf(searchValue);
}
console.log(search([11,1,2,3,4,9],9))
0
iota
24 Ноя 2020 в 02:55
forEach возвращает {{X0} }, вам следует использовать включает < / а>.
function search(arr, searchValue) {
return arr.includes(searchValue);
}
console.log(search([11,1,2,3,4,9],9))
1
DigitalDrifter
24 Ноя 2020 в 02:48
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.