La siguiente función compara un valor con una matriz y recorre los elementos de la matriz hasta que encuentra un elemento que es más pequeño que el valor de comparación. Como resultado, debería devolver el índice de ese elemento donde se cumplió la condición. En este ejemplo debería devolver el índice de 4 (con valor de 5). Guardo este índice en lowestNumberIndex pero solo puedo acceder a él dentro del alcance de la última función if() . ¿Cómo puedo acceder fuera del bucle for? Observe que he iniciado el objeto fuera del bucle for.
function findLowerIndex () { let firstArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; let compareValue = [6]; var lowerNumber = null; var lowestNumberIndex = null; for (i=firstArray.length-1; i>0; i--) { lowerNumber = firstArray[i]; if (lowerNumber < compareValue) { lowestNumberIndex = i; return; } } }Puede tomar el índice para hacer un bucle y como resultado. Para el valor de comparación, use el valor sin envolverlo en una matriz.
function findLowerIndex() { const firstArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], compareValue = 6; let index = firstArray.length; while (index--) { if (firstArray[index] < compareValue) break; } // use the found index return index; } console.log(findLowerIndex());Entonces, gracias a todos los comentarios y soluciones, descubrí cuál era el problema. El problema era que no sabía que usar return te salta de toda la función. ¡Usar break en su lugar funcionó!