Programação
 › Algoritmo  › C/C++  › Java
Web
 › HTML/XHTML  › JavaScript  › PHP
Sistema Operacional
 › Comandos de DOS  › Windows  › Linux  › Mac/BSD
Office
 › Word / Writer  › Excel / Calc
Áreas do Site
 › Download  › Fórum  › Blog
Recomendamos
Computadores e Informática em Lisboa
TI Expert » Programação » Web » JavaScript » Remover Elementos de um Array - pop e shift

Remover Elementos de um Array

Até agora, vimos como declarar e inicializar um Array (vetor) e como inserir elementos em um Array usando algoritmos ou métodos. Agora, vamos ver como podemos remover dados de um array.

Método pop

Remover Elemento do Final de Um Array

O método pop() remove um elemento do final de um array e retorna o conteúdo do índice removido.

Não precisamos nos preocupar com o tamanho e nem com o último índice do array, pois pop() fará todo o trabalho sozinho.

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
vetor = new Array ("José", "Maria", "João", "Patrícia");
document.write ("Este array possui "+vetor.length+" elementos.<BR>");
document.write ("Vamos remover "+vetor.pop()+" da lista.<br>");
document.write ("Agora, temos "+vetor.length+" elementos.<BR>"
                + "Que são: "+vetor.join(", "));
</SCRIPT>

Veja o que acontece quando este JavaScript é executado.

Método shift

Remover Elemento do Início de Um Array

Outra forma de remover elementos é utilizar o método shift().

O método shift() remove um elemento do início de um array e retorna o conteúdo do índice removido.

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
vetor = new Array ("José", "Maria", "João", "Patrícia");
document.write ("Este array possui "+vetor.length+" elementos.<BR>");
document.write ("Vamos remover "+vetor.shift()+" da lista.<BR>");
document.write ("Agora, temos "+vetor.length+" elementos.<BR>"
                + "Que são: "+vetor.join(", "));
</SCRIPT>

Veja o resultado logo abaixo.

Remover Elementos no Meio do Array Algoritmicamente

Como vimos, é possível remover elementos de um Array (vetor) tanto no final quanto no início. Agora, veremos como remover elementos que estão no meio do Array algoritmicamente usando os métodos apresentados até o momento.

Vamos pensar na seguinte situação: Temos um Array que contém todas as cartas do baralho, mas existe uma carta errada chamada R entre o 5 e o 6. Como iremos remover a carta R?

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
A 2 3 4 5 R 6 7 8 9 10 J Q K

Primeiro criaremos um loop começando da posição em que se encontra a carta R (posição 5) e iremos percorrer o Array até o penúltimo índice (tamanho-1).

for (i=5; i<vetor.length-1; i++)

Então, iremos atribuir a posição atual o valor da próxima posição. Isso irá sobrescrever o valor errado (R).

vetor[i] = vetor[i+1];

Isso irá resultar no seguinte Array.

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
A 2 3 4 5 6 7 8 9 10 J Q K K

Podemos perceber que o valor incorreto (R) não existe mais na posição 5. Porém, temos um valor repetido no final de nosso Array. Para removê-lo, usaremos o método pop ().

vetor.pop();

Pronto! Agora temos um Array de cartas de baralho correto. O código completo é demonstrado logo abaixo:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
vetor = new Array ("A", "2", "3", "4", "5", "R", "6",
                   "7", "8", "9", "10", "J", "Q", "K");
for (i=5; i<vetor.length-1; i++) {
    vetor[i] = vetor[i+1];
}
vetor.pop()
</SCRIPT>

Agora temos nosso Array da seguinte maneira na memória:

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
A 2 3 4 5 6 7 8 9 10 J Q K

Creative Commons License
Autor: Denys William Xavier
Este artigo está sob Licença Creative Commons.

Faça o download da versão em PDF Indique nosso site Gostou?
Indique nosso site!
Este artigo foi
lido 36493 vezes
Bookmark e Compartilhe

Páginas Relacionadas

Enquete
O Google Chrome OS irá desbancar o Microsoft Windows 7?
» ProgramaçãoAlgorítmo | C/C++ | Java

» WebHTML/XHTML | JavaScript | PHP

» Sistema OperacionalComandos de DOS | Windows | Linux | Mac/BSD

» OfficeWord/Wirter | Excel/Calc

» Áreas do SiteDownloads | Fórum | Blog