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

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

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 Report

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 Report

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 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!