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

255
Visualizações
¿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 Respostas
Responde à pergunta

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 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