"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como encontrar e substituir um objeto em um array JavaScript com base em uma propriedade específica?

Como encontrar e substituir um objeto em um array JavaScript com base em uma propriedade específica?

Publicado em 2025-01-06
Navegar:366

How to Find and Replace an Object in a JavaScript Array Based on a Specific Property?

Encontrando um objeto com uma propriedade específica em uma matriz de objetos

Em Javascript, uma matriz de objetos sem nome pode ser pesquisada por um determinado objeto com base em uma correspondência de valor de propriedade. Considere a seguinte matriz:

var array = [
    { name:"string 1", value:"this", other: "that" },
    { name:"string 2", value:"this", other: "that" }
];

Encontrando o Objeto:

Para encontrar o objeto com a propriedade "nome" definida como "string 1", use o método find(). A sintaxe é:

let obj = arr.find(o => o.name === 'string 1');

Este código itera pela matriz e retorna o primeiro objeto onde a condição o.name === 'string 1' é verdadeira. O objeto resultante conteria os seguintes dados:

{ name:"string 1", value:"this", other: "that" }

Substituindo o objeto encontrado:

Uma vez encontrado o objeto, ele pode ser substituído por uma versão editada. Para fazer isso, use o método findIndex() para obter o índice do objeto dentro do array:

let index = array.findIndex(o => o.name === 'string 1');

Em seguida, use o método splice() do array para substituir o objeto nesse índice:

array.splice(index, 1, { new_name: "string 1", new_value: "updated" });

Agora, o array conterá o objeto atualizado:

[
    { name:"string 1", value:"updated", other: "that" },
    { name:"string 2", value:"this", other: "that" }
]
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3