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

251
Vistas
¿Cómo verificar si varios rangos de números están representados en una matriz unidimensional de objetos?

Estoy intentando verificar si todos los grupos de edad, desde adolescentes hasta centenarios, están representados en una matriz.

Mi camino lógico ha sido:

  • Cree una matriz con grupos de edad predefinidos basados en décadas [1, 2, 3, ... , 10]
  • Aísle el valor de edad de cada elemento en la matriz de muestra de objetos
  • Divide esas edades entre 10 para obtener en qué década cae la edad
  • parseInt ese número para obtener un número entero y colocar las cifras resultantes en una nueva matriz
  • Compare esa matriz con la matriz de rango de edad predefinida creada inicialmente.

El resultado esperado es true , pero en su lugar obtengo false .

Otro problema lógico al que me enfrento es que la edad más antigua en la matriz de muestra, 128 , se reduce a 12 después de dividir/analizar, mientras que sería preferible verificar si el int es > 10 en lugar de específicamente 10 .

Código a continuación:

 const devAges = list.map((list) => { return list.age }) const devAgesDiv = devAges.map(i => i / 10); for(i = 0; i < devAgesDiv.length; i++){ devAgesDiv[i] = parseInt(devAgesDiv[i]); } function allAges(list) { const ageBrackets = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; return ageBrackets.every((ageBracket) => list.some((listItem) => listItem.ageBracket === ageBracket) ); } console.log(allAges(list)); // output false;

Ejemplo de matriz a continuación:

 var list = [ { firstName: 'Harry', lastName: 'K.', country: 'Brazil', continent: 'Americas', age: 19, language: 'Python' }, { firstName: 'Kseniya', lastName: 'T.', country: 'Belarus', continent: 'Europe', age: 29, language: 'JavaScript' }, { firstName: 'Jing', lastName: 'X.', country: 'China', continent: 'Asia', age: 39, language: 'Ruby' }, { firstName: 'Noa', lastName: 'A.', country: 'Israel', continent: 'Asia', age: 40, language: 'Ruby' }, { firstName: 'Andrei', lastName: 'E.', country: 'Romania', continent: 'Europe', age: 59, language: 'C' }, { firstName: 'Maria', lastName: 'S.', country: 'Peru', continent: 'Americas', age: 60, language: 'C' }, { firstName: 'Lukas', lastName: 'X.', country: 'Croatia', continent: 'Europe', age: 75, language: 'Python' }, { firstName: 'Chloe', lastName: 'K.', country: 'Guernsey', continent: 'Europe', age: 88, language: 'Ruby' }, { firstName: 'Viktoria', lastName: 'W.', country: 'Bulgaria', continent: 'Europe', age: 98, language: 'PHP' }, { firstName: 'Piotr', lastName: 'B.', country: 'Poland', continent: 'Europe', age: 128, language: 'JavaScript' } ];
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede realizar dos actualizaciones para obtener el resultado deseado:

  1. devAgesDiv : comprueba si la age de la lista es superior a 100 y devuelve 10; de lo contrario, divide entre 10; puedes parseInt el resultado de esa prueba

  2. Puede usar includes en allAges para verificar que every ageBracket esté representado

Vea abajo:

 const list = [ { firstName: 'Harry', lastName: 'K.', country: 'Brazil', continent: 'Americas', age: 19, language: 'Python' }, { firstName: 'Kseniya', lastName: 'T.', country: 'Belarus', continent: 'Europe', age: 29, language: 'JavaScript' }, { firstName: 'Jing', lastName: 'X.', country: 'China', continent: 'Asia', age: 39, language: 'Ruby' }, { firstName: 'Noa', lastName: 'A.', country: 'Israel', continent: 'Asia', age: 40, language: 'Ruby' }, { firstName: 'Andrei', lastName: 'E.', country: 'Romania', continent: 'Europe', age: 59, language: 'C' }, { firstName: 'Maria', lastName: 'S.', country: 'Peru', continent: 'Americas', age: 60, language: 'C' }, { firstName: 'Lukas', lastName: 'X.', country: 'Croatia', continent: 'Europe', age: 75, language: 'Python' }, { firstName: 'Chloe', lastName: 'K.', country: 'Guernsey', continent: 'Europe', age: 88, language: 'Ruby' }, { firstName: 'Viktoria', lastName: 'W.', country: 'Bulgaria', continent: 'Europe', age: 98, language: 'PHP' }, { firstName: 'Piotr', lastName: 'B.', country: 'Poland', continent: 'Europe', age: 128, language: 'JavaScript' } ]; const devAgesDiv = list.map(item => parseInt(item.age > 100 ? 10 : item.age / 10)); const ageBrackets = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; function allAges(list) { return ageBrackets.every(ageBracket => list.includes(ageBracket)); } console.log(allAges(devAgesDiv)); // true

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