Como remover um elemento do Array em JavaScript?

existe uma grande probabilidade de que, em algum ponto no passado, você tenha digitado a frase acima no campo de pesquisa do Google ou Stack Overflow. Este problema é tão comum que é a pergunta mais votada sob tag javascript na pilha. Se é assim tão popular, por que não ter um olhar mais atento a esse problema?

o problema de remover o elemento da matriz parece onipresente e, portanto, importante.

em JavaScript existem muitos métodos em Array, mas também em outros objetos padrão., Entre esses métodos há muitos que podem nos ajudar a resolver problemas específicos. Isso significa que existem na verdade múltiplas respostas para a pergunta do título. Vamos rever os mais populares.

para tornar as soluções mais comparáveis, iremos caracterizar cada uma delas usando três propriedades:

  • no local – este método modifica a matriz original? Caso contrário, devolve uma lista modificada (lista sem elemento apagado)
  • remove duplicados — este método remove todas as ocorrências de um elemento especificado ou apenas o primeiro?,
  • Por valor / índice-este método requer o fornecimento do valor do elemento ou do seu índice em matriz?

para simplificar os exemplos, assumiremos que todas as matrizes contêm valores primitivos como números.nesta secção avaliaremos as abordagens mais comuns ao problema em geral. Por geral eu quero dizer remover um elemento que não tem lugar especial na matriz. Não é o último, o primeiro ou o único. É apenas o Joe normal entre os elementos do array.

remover o elemento pelo valor usando .,o método Splice ()

pode ser usado para se livrar de um elemento com índice conhecido. Se você só sabe o valor, primeiro você deve identificar o índice do item. Então use o índice como o elemento inicial e remova apenas um elemento.

Remover elemento usando o método splice

Propriedades da solução:

Propriedades da emenda método de solução

Remoção de elemento de Matriz usando .,filter() method

Specific element can be filtered out from array, by providing filtering function. Such function is then called for every element in array.

Remove element using filter method

Properties of the solution:

Properties of filter method solution

Removing Array element by extending Array.prototype

Prototype of Array can be extended with additional methods., Tais métodos estarão então disponíveis para usar em matrizes criadas.Nota: estender protótipos de objetos da biblioteca padrão de JS (como Array) é considerado por alguns como antipattern.,

Remover elemento estendendo Matriz protótipo

Propriedades da solução:

Propriedades da extensão protótipo de solução

Remover o elemento do Array usando o operador delete

Usando o operador de eliminar a não afetar o comprimento de propriedade. Também não afecta os índices dos elementos subsequentes. O item suprimido não é removido, mas torna-se indefinido., The delete operator is designed to remove properties from JavaScript objects, which arrays are objects.

Remove element using delete operator

Properties of the solution:

Properties of delete operator solution

Removing Array element using Object utilities (>= ES10)

ES10 introduced Object.,fromEntries, que pode ser usado para criar Array desejado a partir de qualquer objeto Array-like e filtrar elementos indesejados durante o processo.

Remove element using Object.,fromEntries

Propriedades da solução:

Propriedades de fromEntries solução

casos Especiais

nesta seção, vamos avaliar três casos especiais em termos de onde na matriz o elemento especificado reside: no início, no final ou ambos os casos, por exemplo, é o único elemento na matriz.

removendo o elemento se estiver no final do Array..

..,ao mudar o comprimento da matriz:

JavaScript Array elements can be removed from the end of an array by setting the length property to a value less than the current value. Qualquer elemento cujo índice seja maior ou igual ao novo comprimento será removido.

Remover última alterando a propriedade do comprimento

Propriedades da solução:

Propriedades de mudança de duração solução

..usando .,método pop ():

o método pop remove o último elemento da lista, devolve esse elemento e actualiza a propriedade do comprimento. O método pop modifica o array no qual ele é invocado, isto significa ao contrário de usar excluir o último elemento é removido completamente e o comprimento do array reduzido.,

Remover última utilizando o método pop

Propriedades da solução:

Propriedades do método pop solução

Remover elemento se é no início de um Array

O .o método shift () funciona muito como o método pop, exceto que remove o primeiro elemento de um array JavaScript em vez do último. Quando o elemento é removido, os restantes elementos são deslocados para baixo.,

Remover primeiro usando o método de deslocamento

Propriedades da solução:

Propriedades de mudança de método de solução

Remover elemento se é o único elemento no Array

O mais rápido técnica é definir uma variável de matriz a uma matriz vazia.,

Remover apenas um elemento da criação de novos matriz

Propriedades da solução:

Propriedades da matriz nova solução de criação

como Alternativa, a técnica de um dos exemplos anteriores pode ser usado com a configuração de comprimento a 0.

conclusão

JavaScript está se tornando cada vez mais amigável com o desenvolvedor. Novas ferramentas são adicionadas a cada lançamento., A consequência disso é que existem muitas maneiras de lidar com tarefas simples. O problema da remoção do elemento da matriz parece onipresente e, portanto, importante. Espero que tenhas aprendido algo novo ao ler este artigo. Eu também espero que ele irá encorajá-lo a estudar as coisas simples em JS, como alguém sábio uma vez disse:

pratique-se, por amor de Deus, em pequenas coisas, e, em seguida, avance para maior. – Epictetus

a note from JavaScript In Plain English: we are always interested in helping to promote quality content., Se você tem um artigo que você gostaria de enviar para JavaScript em inglês simples, envie-nos um e-mail em [email protected] com o seu nome de utilizador médio e vamos adicioná-lo como escritor.

Author: admin

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *