"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 posso remover com eficiência propriedades de uma matriz de objetos em JavaScript?

Como posso remover com eficiência propriedades de uma matriz de objetos em JavaScript?

Publicado em 2024-11-16
Navegar:878

How can I efficiently remove properties from an array of objects in JavaScript?

Remoção eficiente de propriedades de array de objetos

Ao lidar com um array contendo múltiplos objetos, é necessário remover propriedades específicas de cada objeto . Embora uma abordagem direta usando um loop for possa ser suficiente, explorar métodos alternativos que aproveitam os recursos do ES6 e a manipulação de protótipos pode levar a implementações mais eficientes. tal técnica é a desestruturação de objetos, introduzida no ES6. Permite a extração de propriedades específicas de um objeto e posterior atribuição a novas variáveis. No caso de remoção de propriedades indesejadas, esta abordagem torna-se particularmente útil.

Considere o seguinte exemplo:const array = [ { ruim: "alguma coisa", bom: "alguma coisa" }, {ruim: "alguma coisa", bom: "alguma coisa" } ];

Para remover a propriedade "ruim" de cada objeto, podemos utilizar o seguinte código usando a desestruturação ES6:

const newArray = array.map(({ dropAttr1, dropAttr2, .. .keepAttrs }) => keepAttrs);

const array = [
  { bad: "something", good: "something" },
  { bad: "something", good: "something" }
];

O método map é empregado para iterar sobre cada objeto no array original.
const newArray = array.map(({ dropAttr1, dropAttr2, ...keepAttrs }) => keepAttrs);
Dentro da função de retorno de chamada, a desestruturação do objeto é realizada usando a sintaxe de reticências (...) para capturar todas as propriedades que devem ser preservadas no novo objeto (keepAttrs).

As variáveis ​​dropAttr1 e dropAttr2 servem como espaços reservados para quaisquer outras propriedades que você deseja excluir.
  • Vantagens de Desconstrução de objetos ES6

Desempenho: A desestruturação de objetos é altamente eficiente, pois evita a sobrecarga de usar um loop for e atribui valores diretamente às variáveis ​​​​requeridas.

    Concisão:
  • O código é significativamente mais curto e mais limpo em comparação com uma abordagem baseada em loop for, melhorando a legibilidade e manutenibilidade.
  • Extensibilidade:
  • À medida que novas propriedades são adicionadas aos objetos no array no futuro, o código irá excluí-los automaticamente do processo de desestruturação, garantindo a funcionalidade adequada.
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