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

270
Visualizações
Cómo cambiar el valor de una propiedad en una matriz con objetos

Tengo una pestaña constante donde quiero cambiar la propiedad isActive de booleano a 'encendido' o 'apagado' dependiendo de si es verdadero o falso.

 const tab = [ {id:'0',original:{lineId:'4', isActive:false, length: '3'}}, {id:'1',original:{lineId:'5', isActive:true, length: '4'}}, {id:'2',original:{lineId:'6', isActive:false, length: '7'}} ];

Intenté usar .map() pero hice algo mal. ¿Puede sugerir dónde está el problema?

 const newTab = tab.map(x => x.original.isActive === false ? 'off' : x.original.isActive === true ? 'on' : x);

Así es como debería verse newTab después del cambio:

 const newTab = [ {id:'0',original:{lineId:'4', isActive:'off', length: '3'}}, {id:'1',original:{lineId:'5', isActive:'on', length: '4'}}, {id:'2',original:{lineId:'6', isActive:'off', length: '7'}} ];

Con el código actual, solo devuelve la propiedad isActive cambiada:

 const newTab = ["off", "on", "off"]

Gracias !

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

puede usar una asignación y devolver un JSON copiando los valores.

 const tab = [ { id: '0', original: { lineId: '4', isActive: false, length: '3' } }, { id: '1', original: { lineId: '5', isActive: true, length: '4' } }, { id: '2', original: { lineId: '6', isActive: false, length: '7' } } ]; const tab2 = tab.map(e => { return { id: e.id, original: { lineId: e.original.lineId, isActive: e.original.isActive ? 'on' : 'off', length: e.original.length } } });

Salida: Salida de imagen

about 4 years ago · Juan Pablo Isaza Relatório

0

Desea devolver todo el objeto, no solo on o off su mapa. Puede condensar esto usando ... (operador de propagación) y solo modificar isActive mientras devuelve todo lo demás como está:

 const tab = [{ id: '0', original: { lineId: '4', isActive: false, length: '3' } }, { id: '1', original: { lineId: '5', isActive: true, length: '4' } }, { id: '2', original: { lineId: '6', isActive: false, length: '7' } } ]; const newTab = tab.map(item => ({ ...item, original: { ...item.original, isActive: item.original.isActive ? 'on' : 'off', } })); console.log(newTab)

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar la sintaxis extendida y puede actualizar las variables en el método de mapa.

 tab.map((e) => ( { ...e, original: { ...e.original, isActive: e.original.isActive ? 'on' : 'off' } } ))
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