O método slice() do Array JavaScript
O objeto Array.prototype
fornece o método slice()
que permite extrair um subconjunto de elementos de um array e adicioná-los ao novo array. Neste tutorial mostraremos os usos práticos do método slice()
do Array JavaScript.
English version: https://www.javascripttutorial.net/javascript-array-slice/
Introdução ao slice() Array do JavaScript
O método slice()
aceita dois parâmetros opcionais da seguinte maneira:
Os parâmetros start
e stop
são opcionais.
O parâmetro start
determina o índice baseado em zero no qual iniciar a extração. Se o start
é undefined
, o slice()
começará em zero 0
.
O parâmetro stop
é um índice baseado em zero no qual finalizar a extração. O método slice()
extrai até stop -1
. Isso significa que o método slice()
não inclui o elemento na posição de parada no novo array.
O slice()
retorna um novo array que contém os elementos do array original. É importante ter em mente, que o método slice()
executa a cópia superficial dos elementos apenas do novo array. Além disso, ele não altera o array de origem.
Clonar um array
O slice()
é usado para clonar um array, confira o exemplo a seguir:
Neste exemplo, o array newNumbers
contém todos os elementos do array numbers
.
Copiar uma parte do array
O uso típico do método slice()
é copiar uma parte de um array sem modificar o array de origem. Veja um exemplo:
O array rgb
contém os 3 primeiros elementos do array colors
. O array fonte colors
permanece intacto.
Converter objetos do tipo array em arrays
O método slice()
é usado para converter um objeto semelhante a um array em um array. Por exemplo:
Nesse exemplo os argumentos da função toArray()
formam um objeto de argumentos semelhante a um array. Dentro da função toArray()
chamamos o método slice()
para converter o objeto de argumentos em um array.
Todo argumento que passamos para a função toArray()
será o elemento do novo array.
Outro exemplo típico que você costuma ver é converter um NodeList
em um array da seguinte maneira:
Neste exemplo, primeiro usamos o document.querySelectorAll()
para obter todas as tags de parágrafos <p>
do documento HTML. O resultado desse método é um objeto NodeList
que é um objeto semelhante a um array. Em seguida chamamos o método slice()
para converter o objeto NodeList
em um array.
Às vezes você verá a seguinte sintaxe:
Neste exemplo, instanciamos um array []
e acessamos indiretamente o método slice()
do método Array.prototype
através do array vazio. O efeito é o mesmo que usar o Array.prototype
diretamente.
Neste tutorial você aprendeu como usar o método slice()
do array JavaScript para copiar um conjunto ou um subconjunto de array e converter um objeto semelhante a um array em um array.