push(): Adiciona um ou mais elementos ao final do array e retorna o novo comprimento do array modificado.
pop(): Remove o último elemento do array, decrementa a propriedade length e retorna o elemento removido.
Operações de Fila (FIFO - Primeiro a Entrar, Primeiro a Sair)
O conceito de fila envolve adicionar elementos no final do array e removê-los do início.
push(): Funciona da mesma forma que na operação de pilha.
shift(): Remove o primeiro elemento do array e retorna o elemento removido.
unshift(): Adiciona um ou mais elementos no início do array e retorna o novo comprimento.
Métodos de Ordenação
reverse(): Inverte a ordem dos elementos do array. O array retornado é a mesma referência do array original modificado.
// Implementação manual de inversão function inverterArray(colecao) { const metade = Math.floor(colecao.length / 2); for (let i = 0; i < metade; i++) { const espelho = colecao.length - 1 - i; const aux = colecao[i]; colecao[i] = colecao[espelho]; colecao[espelho] = aux; } return colecao; }
</div>**sort():** Ordena os elementos do array. Por padrão, a ordenação é baseada em valores de string (tabela ASCII). O array retornado é a mesma referência do array modificado. Este método aceita uma função de comparação como argumento.
<div>```
// Ordenação numérica usando função comparadora
let valores = [11, 3, 7, 10, 9];
valores.sort(function(x, y) {
return x - y; // Ordem crescente
// return y - x; // Ordem decrescente
});
console.log(valores); // [3, 7, 9, 10, 11]
concat(): Cria um novo array combinando o array original com valores ou outros arrays passados como argumento.
console.log(nomes); // ['Olá', 'Mundo'] console.log(comb1); // ['Olá', 'Mundo', 'João'] console.log(comb2); // ['Olá', 'Mundo', 'Olá', 'Mundo', 'João', 1, 2, 3, 4]
</div>**slice():** Extrai uma parte do array em um novo array, sem modificar o original.
<div>```
let origem = [3, 5, 1, 4];
let copiaTotal = origem.slice(); // Copia todos os elementos
let parcial = origem.slice(2, 4); // Extrai elementos dos índices 2 e 3
console.log(origem); // [3, 5, 1, 4]
console.log(parcial); // [1, 4]
let semSeparador = misto.join(''); // 'hello541' let comSeparador = misto.join('+'); // 'hello+541' let padrao = misto.join(); // 'hello,541'
console.log(misto); // ['hello', 541]
</div>**indexOf():** Localiza o índice da primeira ocorrência de um elemento no array. Aceita um segundo parâmetro opcional para definir o índice inicial da busca. Retorna -1 caso o elemento não seja encontrado.
<div>```
let seq = [7, 7, 8, 4, 2, 1];
let busca1 = seq.indexOf(8, 3); // Busca o número 8 a partir do índice 3, não encontra
let busca2 = seq.indexOf(2); // Busca o número 2 em todo o array
console.log(busca1); // -1
console.log(busca2); // 4
splice(): Modifica o array original removendo, substituindo ou inserindo elementos. Retorna um array contendo os elementos removidos.
// Remoção: remove 1 elemento a partir do índice 1 console.log(lista.splice(1, 1)); // [3]
// Inserção: insere 'yule' no índice 2 sem remover elementos console.log(lista.splice(2, 0, 'yule')); // []
console.log(lista); // [2, 4, 'yule', 1, 77]
// Substituição: remove 2 elementos a partir do índice 2 e insere novos console.log(lista.splice(2, 2, 'xiao', 'ha')); // ['yule', 1]
console.log(lista); // [2, 4, 'xiao', 'ha', 77]
</div></div>