Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

249
Vistas
Combinación de 2 funciones de devolución de llamada en una

Aquí está la pregunta...

"Agregue código a la función bienCallback en el lugar marcado "AÑADIR CÓDIGO AQUÍ" para lograr los registros de consola deseados. El resultado de usar cualquieraCallback para combinar dos devoluciones de llamada en una devolución de llamada y luego pasar esa devolución de llamada a filterArray debe coincidir con los resultados de simplemente pasando las dos devoluciones de llamada a anyFilter en el desafío anterior ".

Aquí está la solución del desafío anterior que sé que funciona...

 function eitherFilter(array, callback1, callback2) { // ADD CODE HERE const newArr = []; for (let i = 0; i < array.length; i++) { if (callback1(array[i]) || callback2(array[i])) { newArr.push(array[i]); } } return newArr; } // Uncomment these to check your work! const arrOfNums = [10, 35, 105, 9]; const integerSquareRoot = n => Math.sqrt(n) % 1 === 0; const over100 = n => n > 100; console.log(eitherFilter(arrofNums, integerSquareRoot, over100)); // should log: [105, 9]

Aquí está el código dado ...

 function eitherCallback(callback1, callback2) { // ADD CODE HERE } // Uncomment these to check your work! function filterArray(array, callback) { const newArray = []; for (let i = 0; i < array.length; i += 1) { if (callback(array[i], i, array)) newArray.push(array[i]); } return newArray; } const arrOfNums = [10, 35, 105, 9]; const integerSquareRoot = n => Math.sqrt(n) % 1 === 0; const over100 = n => n > 100; const intSqRtOrOver100 = eitherCallback(integerSquareRoot, over100); console.log(filterArray(arrOfNums, intSqRtOver100)); // should log: [105, 9]

Estoy confundido en cuanto a qué hacer. ¿Puede alguien darme unos consejos? ¡No sé ni cómo empezar a responderla!

Gracias por adelantado...

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

No necesita mucho, todo lo que necesita es hacer que eitherCallback sea una función de orden superior que tome las dos devoluciones de llamada como argumento inicial, y ejecute y devuelva la lógica que está llevando a cabo aquí:

 callback1(array[i]) || callback2(array[i])

Me gusta:

 const eitherCallback = (callback1, callback2) => x => callback1(x) || callback2(x); // Uncomment these to check your work! function filterArray(array, callback) { const newArray = []; for (let i = 0; i < array.length; i += 1) { if (callback(array[i], i, array)) newArray.push(array[i]); } return newArray; } const arrOfNums = [10, 35, 105, 9]; const integerSquareRoot = n => Math.sqrt(n) % 1 === 0; const over100 = n => n > 100; const intSqRtOrOver100 = eitherCallback(integerSquareRoot, over100); console.log(filterArray(arrOfNums, intSqRtOrOver100)); // should log: [105, 9]

about 4 years ago · Juan Pablo Isaza Denunciar

0

También puedes probar:

 function eitherCallback(callback1, callback2) { // ADD CODE HERE return (element, i, array) => { //element representing array[i] return callback1(element, i, array) || callback2(element, i, array); } }

La idea es que cualquiera de las devoluciones de llamada devuelva un valor real para cualquiera de las devoluciones de llamadas llamadas dentro de la función. Además, creo que la "x" en la solución anterior de cierto rendimiento representa los argumentos array[i], i y array. Es solo una forma más limpia de escribirlo con x en lugar de tener que repetirlo todo. Mantener las cosas SECA.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda