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

89
Vistas
Javascript distribuye la matriz de propiedades de un objeto en un índice específico

Dado un gancho de reacción y un objeto con propiedades de matriz, quiero encontrar una manera de actualizar el gancho usando el operador de propagación en un índice de propiedades específico. Aquí hay un ejemplo en el que quiero tomar el índice 0 de la matriz en cada propiedad y distribuirlo

 const [{ a, b, c }, setState] = useState({ a : 'x', b : 'x', c : 'y' }) const temp = { a : ['x1', 'y1'], b : ['x2', 'y2'], c : ['x3', 'y3'] } setState({...temp[0]}) /* Expected to be spread onto * setState({ * a : 'x1', * b : 'x2', * c : 'x3' * }) */

¿Cómo lograría esto? ¿Estoy buscando en el lugar equivocado para empezar usando el operador de propagación?

cosas que he probado

  • Intenté buscar en .filter() pero no pude hacerlo funcionar
  • Intenté jugar con la posición [0] y otras sintaxis, pero tampoco tuve éxito.
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puede mapear sobre Object.entries y luego convertir el resultado en un objeto con Object.fromEntries .

 const temp = { a : ['x1', 'y1'], b : ['x2', 'y2'], c : ['x3', 'y3'] } let res = Object.fromEntries(Object.entries(temp).map(([k,[v]])=>[k, v])); console.log(res);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puedes probar así:

 const temp = { a : ['x1', 'y1'], b : ['x2', 'y2'], c : ['x3', 'y3'] }; let obj = {}; Object.keys(temp).forEach(k=> obj[k] = temp[k][0]); console.log(obj);

about 4 years ago · Juan Pablo Isaza Denunciar

0

No sé cómo usar el operador de propagación para hacer lo que quieras, pero puedes lograrlo con reduce , algo así como

 const temp = { a : ['x1', 'y1'], b : ['x2', 'y2'], c : ['x3', 'y3'] }; const indexToGrab = 0; const newState = Object.entries(temp).reduce((acc, currentEntry) => { acc[currentEntry[0]] = currentEntry[1][indexToGrab]; return acc; }, {}); //{a: 'x1', b: 'x2', c: 'x3'} setState(newState);
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