Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

490
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!