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

268
Vistas
Objeto de propagación de JavaScript como parámetros de función

Estoy tratando de difundir un objeto para usarlo como parámetro de una función. Estoy bastante seguro de que he visto hacer esto, pero no puedo recordar cómo. Sé cómo hacer esto con una matriz, pero necesito hacerlo con un objeto. Además, no puedo simplemente convertir el objeto en una matriz usando Object.values(obj) ya que en algunos casos el orden de los valores no coincidirá con el orden de los parámetros.

 function sum(x, y, z) { return x + y + z } obj = {x: 23, y: 52, z: 12} sum(...obj) // <--- WHAT DO I PUT HERE?

Usando una matriz, simplemente haría:

 function sum(x, y, z) { return x + y + z } arr = [23, 52, 12] sum(...arr)

En python, esto sería:

 def sum(x, y, z): return x + y + z dict = {'x': 23, 'y': 52, 'z': 12} sum(**dict)
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Además, no puedo simplemente convertir el objeto en una matriz usando Object.values(obj) ya que en algunos casos el orden de los valores no coincidirá con el orden de los parámetros.

Si este es el caso, entonces no hay forma de hacerlo sin enumerar de alguna manera el orden de propiedad deseado o cambiando la firma de la función.

 function sum(x, y, z) { return x + y + z } // while this works, it's quite unusual - I don't recommend it sum.params = ['x', 'y', 'z']; const obj = {x: 23, y: 52, z: 12} console.log(sum(...sum.params.map(param => obj[param])));

 function sum({ x, y, z }) { return x + y + z } const obj = {x: 23, y: 52, z: 12} console.log(sum(obj));

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede capturar campos de objetos por nombre como se muestra a continuación

 function sum({x,y}) { console.log(x + y); } obj = { x: 5, y: 10 } sum(obj) // output: 15
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