Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

133
Visualizações
Filtrado de matrices en JavaScript usando funciones de devolución de llamada

La pregunta es:

"Agregue código a las funciones func1 y func2 en los lugares marcados como "AGREGAR CÓDIGO AQUÍ" para lograr los registros de consola deseados".

 function filterArray(array, callback) { const newArray = []; for (let i = 0; i < array.length; i += 1) { if (callback(array[i])) newArray.push(array[i]); } return newArray; } const arrOfNums = [1, 2, 3, 4, 5]; function func1(num) { // ADD CODE HERE } function func2(num) { // ADD CODE HERE } console.log(filterArray(arrOfNums, func1)); // should log: [2, 4] console.log(filterArray(arrOfNums, func2)); // should log: [1, 3, 5]

En func1 probé:

 if (num % 2 === 0) { num = num; } else { num = null; }

En func2 probé:

 if (num % 2 !== 0) { num = num; } else { num = null; }

No estoy seguro de qué otra manera abordar este problema. Mi solución no funcionó y las llamadas a console.log devolvieron matrices vacías...

¡Gracias de antemano!

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

La función de devolución de llamada debe devolver un valor booleano, si es verdadero, entonces la función filterArray agrega el elemento a la matriz.

 if (callback(array[i])) newArray.push(array[i]);

Entonces, esta línea solo llama a newArray.push(array[i]) si el valor de retorno de callback(array[i]) es verdadero.

Solución:

 function func1(num) { return (num % 2 === 0); } function func2(num) { return (num % 2 !== 0); }
about 4 years ago · Juan Pablo Isaza Relatório

0

Sus funciones no devuelven nada, pero las funciones de devolución de llamada para el filter deben devolver un valor booleano para cada valor.

Puedes usar

 return num % 2 === 0;

resp.

 return num % 2 !== 0;
about 4 years ago · Juan Pablo Isaza Relatório

0

Necesitas devolver verdadero/falso

 function filterArray(array, callback) { const newArray = []; for (let i = 0; i < array.length; i += 1) { if (callback(array[i])) newArray.push(array[i]); } return newArray; } const arrOfNums = [1, 2, 3, 4, 5]; function func1(num) { // return num % 2 === 0; if (num % 2 === 0) { return true; } else { return false; } } function func2(num) { // return num % 2 !== 0; if (num % 2 !== 0) { return true; } else { return false; } } console.log(filterArray(arrOfNums, func1)); // should log: [2, 4] console.log(filterArray(arrOfNums, func2)); // should log: [1, 3, 5]

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda