Me gustaría escribir un código más corto para find
usando .forEach
pero encontré problemas con el conteo y el return
no funciona:
function find(array, element) { array.forEach((_, i) => { if (array[i] === element) { return i; } }) return "Not found"; }
let array = [2,3,5,7,11]; function find(array, element) { for (let i = 0; i < array.length; i++) { console.log(i) if (array[i] === element) { return i; } } return "Not found"; } console.log(find(array, 5)) //2 console.log(find(array, 12)) //Not found
let matriz = [2,3,5,7,11];
función encontrar (matriz, elemento) {
let index = array.indexOf(element) != -1 ? array.indexOf(element) : "Not Found"; return index;
}
consola.log(buscar(matriz, 5))
consola.log(buscar(matriz, 12))
return no va a funcionar dentro de un forEach. Le sugiero que use la función de filtro en su lugar. pero si insiste en usar forEach, puede usar este código como muestra.
function find(array, element) { let result="not found"; array.forEach((arrayItem, i) => { if (arrayItem === element) { result = i; } }) return result; }