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

214
Vistas
Imprima todos los valores pares en todos los extremos de la clave de objeto con valor impar

Quiero imprimir todos los valores pares en todos los extremos de la clave de objeto con valor impar, pero la codificación que hice ahora solo se especifica para arr1, arr3 y arr5. ¿Alguien puede sugerirme cómo arreglar el método 'let oddArr' (quizás en bucle) para que cuando cambie arr1 a arr7, el resultado sea el mismo?

 var num = { arr1 : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], arr2 : [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], arr3 : [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], arr4 : [31, 32, 33, 34, 35, 36, 37, 38, 39, 40], arr5 : [41, 42, 43, 44, 45, 46, 47, 48, 49, 50], }; let oddArr = [...num.arr1, ...num.arr3, ...num.arr5] //need some correction here let evenNum = oddArr.filter(number => number % 2 == 0); console.log(evenNum.toString()); //help me fix 'let oddArr' (maybe in loop method) so that when I changed the object of the array (eg: arr1 -> arr7) it would come out with the same result //the result/output should be 2,4,6,8,10,22,24,26,28,30,42,44,46,48,50 based on var num

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

0

Es posible que desee utilizar

 let oddArr = Object.entries(num).filter( // filter key names e => +e[0].replace("arr", '') % 2 !== 0 // replace "arr" and check if X in arrX is odd ).map(e => e[1]).flat() // merge values and flattern array

También puede utilizar expresiones regulares si el nombre "arrX" no es consistente:

 +e[0].match(/\d+/) % 2 !== 0

Vea un fragmento de trabajo a continuación:

 var num = { arr1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], arr2: [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], arr3: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], arr4: [31, 32, 33, 34, 35, 36, 37, 38, 39, 40], arr5: [41, 42, 43, 44, 45, 46, 47, 48, 49, 50], }; let oddArr = Object.entries(num).filter( e => +e[0].replace("arr", '') % 2 !== 0 ).map(e => e[1]).flat() let evenNum = oddArr.filter(number => number % 2 == 0); console.log(evenNum.toString());

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede probar como a continuación usando for in loop y funciona con cualquier último carácter como impar.

 var num = { arr1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], arr2: [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], arr3: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], arr4: [31, 32, 33, 34, 35, 36, 37, 38, 39, 40], arr7: [41, 42, 43, 44, 45, 46, 47, 48, 49, 50] }; let oddArr = []; for (let key in num) { if (key.charAt(key.length - 1) % 2 !== 0) { oddArr = [...oddArr, ...num[key]]; } } let evenNum = oddArr.filter((number) => number % 2 === 0); console.log(evenNum.toString());

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Denunciar

0

Esto también funciona.

 var num = { arr1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], arr2: [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], arr3: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], arr4: [31, 32, 33, 34, 35, 36, 37, 38, 39, 40], arr5: [41, 42, 43, 44, 45, 46, 47, 48, 49, 50], arr6: [51, 52, 53, 55, 55, 56, 57, 58, 59, 60], arr7: [61, 62, 63, 66, 65, 66, 67, 68, 69, 70], }; var evenNums = Object.keys(num).filter((item) => { itemNum = item.replace("arr", ""); return itemNum % 2 !== 0; }).map((o) => num[o]).flat().filter((x) => x % 2 == 0); console.log(evenNums);

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