Anteriormente, estudamos sobre o tipo de dado Vetor e operações básicos sobre seus elementos utilizando os conhecimentos básicos sobre o que foi aprendido. Nesta parte, vamos aprender sobre a classe Array e seus métodos para manipular arrays.

O básico sobre array/vetor foi visto em JavaScript: Array/Vetor.

Método Descrição
at Retorna elemento baseado em um índice/posição Visitar
concat Concatena um ou mais arrays Visitar
copyWithin Copia ou move um grupo de elementos Visitar
entries Retorna um iterador Visitar
every Executa uma função para todos elementos Visitar
fill Preencher elementos Visitar
filter Filtra elementos Visitar
find Busca primeiro elemento baseado em uma função Visitar
findIndex Busca primeiro índice de elemento baseado em função Visitar
findLast Busca último elemento baseado em uma função -
findLastIndex Busca último índice de elemento baseado em uma função -
flat - -
flatMap - -
forEach Executa uma função para todos os elementos Visitar
from Cria array a partir de objeto ou string Visitar
fromAsync -
group - -
groupToMap - -
includes Verifica se um elemento está contido Visitar
indexOf Retorna índice de um elemento Visitar
isArray Verifica se um objet é um array Visitar
join Retorna string contendo elementos unidos Visitar
keys Retorna todas as chaves/indices Visitar
lastIndexOf Retorna índica da última ocorrência de um elemento Visitar
map Cria novo array baseado no retorno de uma função Visitar
of Cria novo array baseado em argumentos Visitar
pop Remove último elemento Visitar
push Adiciona um elemento no fim Visitar
reduce - -
reduceRight - -
reverse Inverte a ordem dos elementos Visitar
shift Remover o primeiro elemento Visitar
slice Copia um intervalo de elementos Visitar
some Verifica se alguns elementos atendem critério Visitar
sort Ordena os elementos de um array Visitar
splice Remove um ou mais elementos Visitar
toLocaleString - -
toReversed - -
toSorted - -
toSpliced - -
toString Retorna os elementos como string Visitar
unshift Adicionar um elemento no início Visitar
values Retorna iterador para elementos Visitar
with - -

O método at é utilizado para recuperar um elemento associado a um determinado índice, positivo ou negativo, que é passado como argumento para o método.

Sintaxe
variavel_array.at(index)
Onde
index: índice do elemento que desejamos recuperar. Se negativo, a busca é iniciada a partir do fim. 
Retorno
elemento contido em index ou undefined se index for maior que variavel_array.length
Exemplo 1
let array = [0,1,2,3,4,5,6];
console.log(array.at(1));
Saída
1

Com o método concat podemos concatenar um ou mais array, que são passados como argumento, a um array. Esse método altera o array original.

Sintaxe
variavel_array.concat( array1, array2, arrayN );
Onde
array1...N: arrays/vetores para concatenação.
Retorno
-
Exemplo 2
let x = ["uma"];
let y = ["string"];
let z = ["qualquer"];
console.log(x.concat(y,z));

Saída
[ 'uma', 'string', 'qualquer' ]

Utilizando o método copyWithin podemos copiar ou mover um grupo de elementos de uma posição de origem para outra posição de destino dentro do mesmo array.

Sintaxe
variavel_array.copyWithin( target, start, end );
Onde
target: índice destino. Obrigatório
start: índice inicial. Padrão 0
end: índice final. Padrão 0.
Retorno
-
Exemplo 3
const x = [1,2,3,4];
console.log(x);
x.copyWithin(2, 0);
console.log(x);
Saída
[ 1, 2, 3, 4 ]
[ 1, 2, 1, 2 ]

Com o método entries podemos recuperar o iterador contendo as informações índice-valor, ou chave-valor, para acesso aos elementos do array.

Sintaxe
variavel_array.entries()
Onde
-
Retorno
Iterador para elementos do array. 
Exemplo 4
const x = ["Um", "string", "qualquer"];

for ( let [ch,val] of x.entries()){
  console.log(ch,val);
}
Saída
0 Um
1 string
2 qualquer

O método every permite que passemos uma função customizada como argumento. Essa função será executada para todos os elementos do array e deve retornar true ou false.

A função customizada deve seguir o protótipo/assinatura callback(currentValue, index, arr) como mostrado abaixo. Os nomes não precisam ser os mesmos, mas a ordem deve ser respeitada.

Sintaxe
variavel_array.every(callback(currentValue, index, arr), thisArg);
Onde
callback: função que será invocada para cada elemento
currentValue: Parâmetro obrigatório que representa o elemento atual 
index: Índice do elemento atual. Opcional
array: o array do elemento atual, se houver. Opcional
thisArg: Valor passado passado como this.
Retorno
true se callback retorna true para todos elementos, false caso contrário.
Exemplo 5
const x = [2,4,6,8];

function teste(valor,indice,array){
  if (valor %2 == 0)
    return true;
  return false;
}
console.log(x.every(teste));
Saída
true

Utilizando o método fill podemos preencher elementos de um array com um determinado valor fixo que é passado como argumento.

Sintaxe
variavel_array.fill(value, start, end);
Onde
value: valor para preenchimento.
start: índice inicial para preenchimento. O valor padrão é variavel.length. Esse argumento é opcional.
end: índice final para preenchimento(não incluído) e opcional. Valor padrão variavel_array.length. 
Retorno
-
Exemplo 6
const x = [2,4,6,8];
console.log(x);
x.fill(999,1,3);
console.log(x);
Saída
[ 2, 4, 6, 8 ]
[ 2, 999, 999, 8 ]

O método filter permite criar um novo array baseado apenas nos elementos que são testados por uma função que é passada como argumentos e executada para cada elemento. Essa função deve retornar true ou false.

A função customizada deve seguir o protótipo/assinatura callback(currentValue, index, arr) como mostrado abaixo. Os nomes não precisam ser os mesmos, mas a ordem deve ser respeitada.

Sintaxe
variavel_array.filter(callback(currentValue, index, arr), thisArg);
Onde
callback: função que será invocada para cada elemento
currentValue: Parâmetro obrigatório que representa o elemento atual 
index: Índice do elemento atual. Opcional
arr: o array do elemento atual, se houver. Opcional
thisArg: Valor passado passado como this.
Retorno
 Novo array contendo os elementos que retornaram true para a execução da callback.
Exemplo 7
const x = [1,2,3,4];

function teste(valor,indice,array){
  if (valor %2 == 0)
    return true;
  return false;
}
console.log(x.filter(teste));
Saída
[ 2, 4 ]

O método find permite encontrarmos o primeiro elemento de um array baseado em um teste feito por uma função que é passada como argumento e é executada para cada elemento. Essa função deve retornar true ou false.

A função customizada deve seguir o protótipo/assinatura callback(currentValue, index, arr) como mostrado abaixo. Os nomes não precisam ser os mesmos, mas a ordem deve ser respeitada.

Sintaxe
variavel_array.find(callback(currentValue, index, arr), thisArg);
Onde
callback: função que será invocada para cada elemento
currentValue: Parâmetro obrigatório que representa o elemento atual 
index: Índice do elemento atual. Opcional
arr: o array do elemento atual, se houver. Opcional
thisArg: Valor passado passado como this.
Retorno
Primeiro elemento que atende ao teste feito por callback ou undefined caso nenhum elemento atenda.
Exemplo 8
const x = [1,2,3,4];

function teste(valor,indice,array){
  if (valor %2 == 0)
    return true;
  return false;
}
console.log(x.find(teste));
Saída
2

O método findIndex permite encontrarmos o índice do primeiro elemento de um array baseado em um teste feito por uma função que é passada como argumento e é executada para cada elemento. Essa função deve retornar true ou false.

A função customizada deve seguir o protótipo/assinatura callback(currentValue, index, arr) como mostrado abaixo. Os nomes não precisam ser os mesmos, mas a ordem deve ser respeitada.

Sintaxe
variavel_array.findIndex(callback(currentValue, index, arr), thisArg);
Onde
callback: função que será invocada para cada elemento
currentValue: Parâmetro obrigatório que representa o elemento atual 
index: Índice do elemento atual. Opcional
arr: o array do elemento atual, se houver. Opcional
thisArg: Valor passado passado como this.
Retorno
Valor inteiro contendo o índice do primeiro elemento que atende ao teste feito por callback
undefined caso nenhum elemento atenda ao teste.
Exemplo 9
const x = [1,2,3,4];

function teste(valor,indice,array){
  if (valor %2 == 0)
    return true;
  return false;
}

console.log(x.findIndex(teste));
Saída
1

O método forEach permite criar um novo array baseado apenas nos elementos que são testados por uma função que é passada como argumentos e é executada para cada elemento. Essa função deve retornar true ou false.

A função customizada deve seguir o protótipo/assinatura callback(currentValue, index, arr) como mostrado abaixo. Os nomes não precisam ser os mesmos, mas a ordem deve ser respeitada.

Sintaxe
variavel_array.forEach(callback(currentValue, index, arr), thisArg);
Onde
callback: função que será invocada para cada elemento
currentValue: Parâmetro obrigatório que representa o elemento atual 
index: Índice do elemento atual. Opcional
arr: o array do elemento atual, se houver. Opcional
thisArg: Valor passado passado como this.
Retorno
Novo array contendo os elementos que retornaram true para a execução da callback.
Exemplo 11
const x = [1,2,3,4];

function teste(valor,indice,array){
  if (valor %2 == 0)
    return true;
  return false;
}
console.log(x.forEach(teste));
Saída
[ 2, 4 ]

Utilizando o método estático from, podemos criar um array a partir de objeto ou string. Uma função pode ser passada como argumento para realizar algum tratamento customizado.

Sintaxe
Array.from( object, mappingFunction, thisArg );
Onde
object: Objeto para ser convertido. Argumento obrigatório.
mappingFunction: função callback para manipulação dos elementos.
thisArg: Valor passado passado como this.
Retorno
Novo array baseado em object
Exemplo 12
let obj = { nome : "Fulano", idade: "120"};
let x = "12345";
let y = ["A","B","c"];

console.log(Array.from(x));
console.log(Array.from(y.entries()));
console.log(Array.from(Object.entries(obj)));
Saída
[ '1', '2', '3', '4', '5' ]
[ [ 0, 'A' ], [ 1, 'B' ], [ 2, 'c' ] ]
[ [ 'nome', 'Fulano' ], [ 'idade', '120' ] ]

O método includes verifica se um determinado elemento, que é passado como argumentos, está contido em um array.

Sintaxe
variavel_array.includes(element, fromIndex);
Onde
element: elemento para verificar existência.
fromIndex: índice inicial para busca.
Retorno
 true se element for encontrado, false caso contrário.
Exemplo 13
let x = ["A","B","c"];
console.log(x.includes("c"));
Saída
true

Utilizando o método indexOf podemos descobrir qual o índice de um determinado elemento que é passado por argumento.

Sintaxe
variavel_array.indexOf(element, fromIndex);
Onde
element: elemento para verificar existência.
fromIndex: índice inicial para busca.
Retorno
Inteiro contendo o índice de element, NaN caso contrário.
Exemplo 14
let x = ["A","B","c"];
console.log(x.indexOf("c"));
Saída
2

Usando o método estático isArray, podemos verificar se um objeto passado como argumento é um array ou não.

Sintaxe
Array.isArray(object);
Onde
object: objeto que será verificado.
Retorno
true se object é um array, false caso contrário.
Exemplo 15
let x = ["A","B","c"];
let y = "ABC";
let obj = { nome : "Fulano", idade: "900"};

console.log(Array.isArray(x));
console.log(Array.isArray(y));
console.log(Array.isArray(obj));
Saída
true
false
false

O método join faz a união e conversão de todos elementos de um array em uma string que é retornada por esse método.

Sintaxe
variavel_array.join(separator);
Onde
separator: separador utilizado entre os elementos unidos pelo join
Retorno
String contendo os elementos de variavel_array separados por separator
Exemplo 16
let x = ["A","B","c"];
console.log(x.join(";"));
Saída
A;B;c

O método keys é utilizado para recuperar um iterador contendo todos os elementos contidos em um array.

Sintaxe
variavel_array.keys()
Onde
-
Retorno
Iterador para as chaves dos elementos de um Set. 
Exemplo 17
let x = ["A","B","c"];
let it = x.keys();
for ( let ch of x)
  console.log(ch);
Saída
A
B
C

Utilizando o método lastIndexOf podemos descobrir qual o índice da última ocorrência de um determinado elemento passado por argumento.

Sintaxe
variavel_array.lastIndexOf(element, fromIndex);
Onde
element: elemento para verificar existência.
fromIndex: índice inicial para busca.
Retorno
 Inteiro contendo o índice de element, NaN caso contrário.
Exemplo 18
let x = ["A","B","c","B","c"];
console.log(x.lastIndexOf("c"));
Saída
4

O método map cria um novo array baseado no resultado de uma função que é passada como argumento e que é executada para todos os elementos. Essa função deve retornar o elemento manipulado.

A função customizada deve seguir o protótipo/assinatura callback(currentValue, index, arr) como mostrado abaixo. Os nomes não precisam ser os mesmos, mas a ordem deve ser respeitada.

Sintaxe
variavel_array.map(callback(currentValue, index, arr), thisArg);
Onde
callback: função que será invocada para cada elemento.Obrigatório
currentValue: Representa o elemento atual. Argumento obrigatório
index: Índice do elemento atual. Opcional
array: o array do elemento atual se houver. Opcional
thisArg: Valor passado passado como this. Opcional
Retorno
Um novo array contendo os elementos de variavel após manipulação de callback.
Exemplo 19
function teste(valor,indice,array){
  return valor*=10;
}

let x = [0,1,2,3];
console.log(x.map(teste));
Saída
[ 0, 10, 20, 30 ]

Com o método método estático of, podemos criar um novo array baseado nos argumentos passados para esse método. Os argumentos podem ser de qualquer tipo de dados.

Sintaxe
Array.of(elem1, elem2, elemN);
Onde
elem1…N: argumentos que serão convertidos em elementos de um novo array.
Retorno
Um novo array contendo elem1..elemN como elementos.
Exemplo 20
let obj = { nome:"Javascript"};
let x = Array.of("Um",2,obj,1.99);
console.log(x);
Saída
[ 'Um', 2, { nome: 'Javascript' }, 1.99 ]

Com o método pop podemos remover o último elemento contido em um array. Esse método não recebe parâmetros e retorna o elemento removido.

Sintaxe
variavel_array.pop();
Onde
-
Retorno
Elemento removido do fim do array
Exemplo 21
let x = [0,1,2,3];
console.log(x);
x.pop();
console.log(x);
Saída
[ 0, 1, 2, 3 ]
[ 0, 1, 2 ]

Usando o método push podem adicionar um novo elemento, que é passado como argumento, no fim de um array.

Sintaxe
variavel_array.push();
Onde
-
Retorno
Inteiro contendo o número de elementos contido em variavel_array após push.
Exemplo 22
let x = [0,1,2];
console.log(x);
x.push("string");
console.log(x);
Saída
[ 0, 1, 2, 3 ]
[ 0, 1, 2 ]

O método reverse inverte a ordem ou disposição dos elementos contidos em um array. Esse método não recebe argumentos e o próprio array é manipulado.

Sintaxe
variavel_array.reverse();
Onde
-
Retorno
variavel_array com seus elementos em ordem reversa.
Exemplo 23
let x = [0,1,2];
console.log(x);
console.log(x.reverse());
Saída
[ 0, 1, 2 ]
[ 2, 1, 0 ]

Com o método shift podemos remover o primeiro elemento contido em um array. Esse método não recebe argumentos e retorna o elemento removido.

Sintaxe
variavel_array.shift();
Onde
-
Retorno
Elemento removido
Exemplo 24
let x = [0,1,2,3];
console.log(x);
x.shift();
console.log(x);
Saída
[ 0, 1, 2, 3 ]
[ 1, 2, 3 ]

Utilizando o método slice podemos fazer uma cópia de um intervalo de elementos de um array e salvá-la em um novo array.

Sintaxe
variavel_array.slice( start, end );
Onde
start: índice inicial do intervalo.
end: índice final do intervalo. Não incluído no intervalo
Retorno
Novo array contendo elementos do slice
Exemplo 25
let x = [0,1,2,3,4,5];
let y = x.slice(1,4);
console.log(y);
Saída
[ 1, 2, 3 ]

O método some recebe uma função como argumento e é executa para cada elementos de um array, retornando um valor booleano, indicando que alguns elementos atenderam aos critérios da funçã. Essa função deve retornar true ou false.

A função customizada deve seguir o protótipo/assinatura callback(currentValue, index, arr) como mostrado abaixo. Os nomes não precisam ser os mesmos, mas a ordem deve ser respeitada.

Sintaxe
variavel_array.some(callback(currentValue, index, arr), thisArg);
Onde
callback: função que será invocada para cada elemento
currentValue: Parâmetro obrigatório que representa o elemento atual 
index: Índice do elemento atual. Opcional
array: o array do elemento atual, se houver. Opcional
thisArg: Valor passado passado como this.
Retorno
Um novo array contendo os elementos de variavel_array após manipulação de callback.
Exemplo 26
function funcao(element, index, array){
    return element >= 6;
}

array = [0,1,2,3,4,5,6];

console.log(array.some(funcao));
Saída
true

Com o método sort, podemos ordenar o elementos de um array de forma crescente(padrão). Esse método pode receber uma função como argumento para realizar uma ordenação customizada.

A função customizada deve seguir o protótipo/assinatura callback(currentValue, index, arr) como mostrado abaixo. Os nomes não precisam ser os mesmos, mas a ordem deve ser respeitada.

Sintaxe
variavel_array.sort(compareFunction);
Onde
compareFunction: função customizada. Deve receber dois argumentos para comparação e retornar um número.
Retorno
Um novo array contendo os elementos de variavel_array ordernados de acordo com callback.
Exemplo 27
let x = [3,2,5,4,0,1];

function comparacao(a, b) {
  if (a < b) {
    return -1;
  }
  if (a > b ) {
    return 1;
  }
  // a == b
  return 0;
}

console.log(x.sort());
console.log(x.sort(comparacao));
Saída
[ 0, 1, 2, 3, 4, 5 ]
[ 0, 1, 2, 3, 4, 5 ]

Utilizando o método splice, podemos remover um ou mais elementos contidos em um array. O intervalo é definido por dois argumentos.

Sintaxe
variavel_array.splice( start, end );
Onde
start: índice inicial do intervalo.
end: índice final do intervalo.
Retorno
Novo array contendo o intervalo de dados removido entre start e end.
Exemplo 28
let x = [0,1,2,3,4,5];
let y = x.splice(1,3);
console.log(y);
Saída
[ 1, 2, 3 ]

O método toString converte os elementos de um array e os retorna em forma uma string. Os elementos são separados por (,).

Sintaxe
variavel_array.toString();
Onde
-
Retorno
Uma string contendo elementos de variavel_array convertidos para string.
Exemplo 29
let array = [0,1,2,3,4,5,6];
console.log(array.toString());
Saída
0,1,2,3,4,5,6

Com o método unshift podemos adicionar um elemento, passado como argumento, no início de um array. Esse método retorna o número de elementos do array.

Sintaxe
variavel_array.unshift(object);
Onde
object: objeto que desejamos adicionar
Retorno
Número de elementos de variavel_array.
Exemplo 30
let x = [1,2,3];
console.log(x);
x.unshift(0);
console.log(x);
Saída
[ 1, 2, 3 ]
[ 0, 1, 2, 3 ]

O método values retorna um iterador para os elementos de um array.

Sintaxe
variavel_array.values()
Onde
-
Retorno
Iterador para os elementos de um array.
Exemplo 31
let x = ["uma","string","qualquer"];

for ( let vl of x.values()){
  console.log(vl);
}
Saída
uma
string
qualquer
  1. 18/08/2025 - revisão 2 - Ajustes: pontuais, sintaxe e nome de métodos em tab. 1
  2. 25/09/2024 - revisão 1 - Adição de informação sobre callback; correção em título de método 'join'; outros ajustes
  3. 31/05/2023 - versão inicial