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

493
Vistas
javascript equivalente a [x por x en matriz]

¿Hay alguna operación en Javascript como [x for x in array] en python?

Por ejemplo, estoy usando javascript para leer un archivo json donde hay docenas de pares (clave, valor) que deben manejarse (o transformarse en otro formato). Y pensé que trabajar de esta manera es estúpido:

 let transformed = [] for (let key in json){ transformed = [ /* doing some transform*/ ] }

¿Hay algo como:

 let transformed = [ lambda function1(key), lambda function2(value) for key, value in json ]

Gracias por adelantado.

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

0

El equivalente aproximado de la comprensión de la lista de Python es Array.map :

 const myArray = [1, 2, 3] const transformed = myArray.map((item) => item + 1) // [2, 3, 4]

Pero su ejemplo no se trata de una matriz, sino de un Object con claves y valores. En Python, esto sería un dict, y usaría una comprensión de dict en la línea de {function1(key): function2(value) for key, value in my_dict.items()} .

En JavaScript, puede convertir un objeto de este tipo en una matriz con Object.entries , luego ejecutar el map y finalmente transformarlo nuevamente en un objeto usando Object.fromEntries :

 const myObject = { a: 1, b: 2 } const transformed = Object.fromEntries(Object.entries(myObject) .map(([key, value]) => [key + 'x', value + 1])) // { ax: 2, bx: 3 }

Tenga en cuenta que fromEntries es bastante nuevo y es posible que deba agregar un polyfill para ello.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puedes usar un código como este. Debe usar una función que maneje la operación en el elemento individual actual.

 const words = ['hello', 'bird', 'table', 'football', 'pipe', 'code']; const capWords = words.forEach(capitalize); function capitalize(word, index, arr) { arr[index] = word[0].toUpperCase() + word.substring(1); } console.log(words); // Expected output: // ["Hello", "Bird", "Table", "Football", "Pipe", "Code"]
about 4 years ago · Juan Pablo Isaza Denunciar

0

En primer lugar, javascript NO admite matrices asociativas. Si está acostumbrado a ellos en Python, PHP y otros lenguajes, necesita hacer una pequeña solución en JS para lograr la misma funcionalidad.

La forma más común de simular una matriz asociativa es mediante un objeto.

 let testObject = {name: "Color", value: "Red"};

Y luego empuja cada objeto en una matriz para terminar con algo como esto:

 let testArray = [{name: "Color", value: "Red"}, {name: "Color", value: "Blue"}];

Una vez que tenga esta matriz que consiste en objetos, puede usar la función de mapa para recorrer cada objeto en la matriz y hacer lo que quiera con él.

 testArray.map((item, index) => { console.log("The value of "+index+". item is: "item.value); })
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