Quiero evaluar si el número es menor a 10, teniendo como respuesta una matriz de booleanos. Intenté usar forEach, map, pero no tuve éxito en ningún intento.
function underTen (arr){ let underTenAnswer = arr.forEach(function(n){ if (n < 10) { true; } else { false; } }) }Entrada: underTen([1,9,12,19,4,16] Resultado esperado: Matriz [Verdadero, Verdadero, Falso, Falso, Verdadero, Falso]
Soy un principiante, lo siento si algo es notoriamente incorrecto.
Hay una manera muy rápida de hacer esto:
let a = [1, 2, 3, 4, 5, 6, 7]; let b = [1, 2, 3, 4, 12, 8]; console.log(a.every((x) => x < 10)) // true console.log(b.every((x) => x < 10)) // falseUsamos Array.every() aquí para verificar si cada elemento de la matriz pasa alguna condición.
Si necesita devolver una matriz de valores booleanos, puede usar Array.map() :
let b = [1, 2, 3, 4, 12, 8]; console.log(b.map((x) => x < 10)) // [true, true, true, true, false, true]Edición 2 : pensé que no entendí bien la pregunta, pero parece que esto es lo que quería el OP.
Puede usar el asistente de matriz every si desea saber si todos los valores de la matriz coinciden con una expresión:
array.every(number => number < 10);Editar : entendí mal la pregunta.
Para obtener una matriz con valores booleanos según una expresión aplicada a cada valor:
const newArray = array.map(number => number < 10);La pregunta sugiere que la salida debe ser una matriz con valores booleanos correspondientes a cada valor en la matriz de prueba.
Array.map() es ideal para este problema. Fragmento de trabajo:
const testArray = [1,9,12,19,4,16]; const resultsArray = testArray.map(element => (element < 10)) console.log(resultsArray)