Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

87
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda