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

100
Visualizações
¿Cómo insertar un objeto en una matriz anidada en una matriz de objetos?

Así que tengo este arr

 let arr = [{ category_set_id: 25, name: "25name", el: [ {name: "25name1", value: "25value1"} ] }, { category_set_id: 44, name: "44name", el: [ {name: "44name1", value: "44value1"} ] }, ]

Y este es el elemento que necesito insertar en este arreglo de objetos

 let elToPush = {category_set_id: 44, name: "44name2", value: "44value2"}

Como puede ver, pertenece al segundo elemento de arr, y de alguna manera debe insertarse en la propiedad el, lo que da como resultado

 let arr = [{ category_set_id: 25, name: "25name", el: [ {name: "25name1", value: "25value1"} ] }, { category_set_id: 44, name: "44name", el: [ {name: "44name1", value: "44value1"}, {name: "44name2", value: "44value2"} ] }, ]

Así que sé que tal vez primero pueda filtrar el arr para obtener la sección deseada, fe

 let toModify = arr.filter(i => i.category_set_id === elToPush.id)

Entonces teniendo eso podría

 let newarr = [toModify.el, ...elToPush] toModify.el = newarr

Y finalmente debo reemplazarlo de alguna manera en el arreglo global.

¿Alguien puede echar una mano con esto?

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

0

Puede usar findIndex para encontrar el índice de category_set_id: 44, desde arr . Si arr contiene dicho objeto, devolverá el índice que será mayor que -1 . Luego use este índice para impulsar el valor requerido

 let arr = [{ category_set_id: 25, name: "25name", el: [{ name: "25name1", value: "25value1" }] }, { category_set_id: 44, name: "44name", el: [{ name: "44name1", value: "44value1" }] } ]; let elToPush = { category_set_id: 44, name: "44name2", value: "44value2" }; const getIndex = arr.findIndex(item => item.category_set_id === elToPush.category_set_id); if (getIndex > -1) { arr[getIndex].el.push({ name: "44name2", value: "44value2" }) }; console.log(arr)

Alternativamente, también puede usar find , que devolverá el objeto si category_set_id coincide

 let arr = [{ category_set_id: 25, name: "25name", el: [{ name: "25name1", value: "25value1" }] }, { category_set_id: 44, name: "44name", el: [{ name: "44name1", value: "44value1" }] } ]; let elToPush = { category_set_id: 44, name: "44name2", value: "44value2" }; const obj = arr.find(item => item.category_set_id === elToPush.category_set_id); obj && obj.el.push({ name: elToPush.name, value: elToPush.value }) console.log(arr)

about 4 years ago · Juan Pablo Isaza Relatório

0

así que primero queremos encontrar el objeto correcto para insertar nuestro nuevo elemento y luego mutar la matriz interna con los campos correctos

 updateArray(newObject) { const elemToChange = arr.find(object => object.category_set_id == newObject.category_set_id) const objectToPush = { name: newObject.name, value: newObject.value } elemToChange.el.push(objectToPush) }
about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar find para tener una referencia al objeto buscado, y luego puede insertar (presionar) el elemento en la matriz el del objeto encontrado.

 let arr = [{ category_set_id: 25, name: "25name", el: [{ name: "25name1", value: "25value1" }] }, { category_set_id: 44, name: "44name", el: [{ name: "44name1", value: "44value1" }] } ]; let elToPush = { category_set_id: 44, name: "44name2", value: "44value2" }; const obj = arr.find(item => item.category_set_id === elToPush.category_set_id); if (obj) { obj.el.push({ name: "44name2", value: "44value2" }) }; console.log(arr)

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