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

131
Vistas
Javascript del iterador de matriz de una línea

Vengo de Python y estoy buscando una función de iterador de una sola línea para cualquier matriz, donde también puedo verificar una condición y devolver un cambio simple a los elementos.

El resultado esperado debe coincidir con el método:

 function arrayEvenItemIncrement(myArray){ for (let i = 0; i < myArray.length; i++){ if (myArray[i]%2==0){ myArray[i]++; } } return myArray; }

Intenté usar for (i of myArray){ } pero esto todavía no cumple mi propósito.

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

0

Creo que la forma más clara de hacer lo que quiere aquí sería asignar una nueva matriz en lugar de mutar la anterior:

 const arrayEvenItemIncrement = myArray => myArray.map((val, i) => i % 2 === 1 ? val : val + 1);

Si tiene que mutar la matriz existente, se vuelve significativamente más feo.

 const arrayEvenItemIncrement = myArray => ( myArray.forEach((val, i) => { if (i % 2 === 0) myArray[i]++; }), myArray);

o

 const arrayEvenItemIncrement = myArray => { myArray.forEach((val, i) => { if (i % 2 === 0) myArray[i]++; }); return myArray };

Pero no lo recomendaría, póngalo en varias líneas.

Técnicamente, puede comprimir cualquier código JS en una sola línea, pero más allá de las manipulaciones simples, generalmente no es una buena idea porque sacrifica la legibilidad, que es mucho más importante que reducir el LoC. El código profesional y mantenible no es una competencia de golf.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Gracias por las respuestas. Me he conformado con esto:

myArray.forEach(el=>el%2===0?newArray.push(el):null);

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