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

O básico sobre vetores foi visto em Vetores.

A classe Array em TS possui vários métodos que nos auxiliam na manipulação desse tipo de dados como concatenação, cópia, filtro e outros . Clique em Visitar referente ao método desejado para navegar até a sua explicação.

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
Array.from Cria array a partir de objeto ou string Visitar
Array.fromAsync -
group - -
groupToMap - -
includes Verifica se um elemento está contido Visitar
indexOf Retorna índice de um elemento Visitar
Array.isArray Verifica se um objet é um array Visitar
join Retorna string contendo elementos unidos Visitar
keys Retorna todas as chaves/índices Visitar
lastIndexOf Retorna índica da última ocorrência de um elemento Visitar
map Cria novo array baseado no retorno de uma função Visitar
Array.of Cria novo array baseado nos 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 - -
with - -

O método at é utilizado para recuperar um elemento em 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:number[] = [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 a um array de destino. Esse método recebe argumentos e retorna um array contendo os argumentos concatenados.

Sintaxe
variavel_array.concat(array1, array2, arrayN);
Onde
array1...N: arrays/vetores para concatenação.
Retorno
-
Exemplo 2
let x:string[] = ["uma"];
let y:string[] = ["string"];
let z:string[] = ["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 origem para outra posição 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
let x:number[] = [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 um iterador contendo índice/valor que representam os elementos de um array para iteração.

Sintaxe
variavel_array.entries()
Onde
-
Retorno
Iterador para elementos do array. 
Exemplo 4
let x:string[] = ["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 passamos uma função como argumento. Essa função contém código que será executado para todos os elementos de um array e deve retornar true ou false.

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
let x:number[] = [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 que não é incluído no intervalo. O valor padrão é variavel.length. Esse argumento é opcional. 
Retorno
-
Exemplo 6
let x:number[] = [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.

Sintaxe
variavel_array.filter(callback(currentValue, index, array), 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
 Novo array contendo os elementos que retornaram true para a execução da callback.
Exemplo 7
let x:number[] = [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.

Sintaxe
variavel_array.find(callback(currentValue, index, array), 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
Primeiro elemento que atende ao teste feito por callback ou undefined caso nenhum elemento atenda.
Exemplo 8
let  x:number[] = [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 é chamada para cada elemento. Essa função deve retornar true ou false.

Sintaxe
variavel_array.findIndex(callback(currentValue, index, array), 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
Valor inteiro contendo o índice do primeiro elemento que atende ao teste feito por callback
undefined caso nenhum elemento atenda ao teste.
Exemplo 9
let x:number[] = [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 é chamada para cada elemento. Essa função deve retornar true ou false.

Sintaxe
variavel_array.forEach(callback(currentValue, index, tuple), 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
Novo array contendo os elementos que retornaram true para a execução da callback.
Exemplo 10
let x:number[] = [1,2,3,4];

function teste(valor,indice,array){
  console.log(indice,valor);
}

console.log(x.forEach(teste));
Saída
0  0
1  1
2  2
3  3

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 11
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 ou não.

Sintaxe
variavel_tuple.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 12
let x:string[] = ["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 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, -1 caso contrário.
Exemplo 13
let x:string[] = ["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 14
let x:string[] = ["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 única 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 15
let x:string[] = ["A","B","c"];
console.log(x.join(";"));
Saída
A;B;c

O método keys é utilizado para recuperar um iterador contendo todos os índices de um array.

Sintaxe
variavel_array.keys()
Onde
-
Retorno
Iterador para as chaves dos elementos de um array. 
Exemplo 16
let x:string[] = ["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, -1 caso contrário.
Exemplo 17
let x:string[] = ["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.

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 18
function teste(valor,indice,array){
  return valor*=10;
}

let x:number[] = [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 19
let obj = { nome:"typescript"};
let x:any = Array.of("Um",2,obj,1.99);
console.log(x);
Saída
[ 'Um', 2, { nome: 'typescript' }, 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 20
let x:number[] = [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(object): int;
Onde
object: objeto que desejamos adicionar
Retorno
Inteiro contendo o número de elementos contido em variavel_array após push.
Exemplo 20
let x:number[] = [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 possui argumentos e o próprio array é manipulado.

Sintaxe
variavel_array.reverse();
Onde
-
Retorno
variavel_array com seus elementos em ordem reversa.
Exemplo 21
let x:number[] = [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 parâmetros e retorna o elemento removido.

Sintaxe
variavel_array.shift();
Onde
-
Retorno
Elemento removido
Exemplo 22
let x:number[] = [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 23
let x:number[] = [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(callback) como argumento e a executa para cada elementos de um array retornando um valor booleano indicando que alguns elementos atenderam aos critérios dessa função. A callback de deve retornar true ou false.

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 24
function funcao(element, index, array){
    return element >= 6;
}

let array:number[] = [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 em ordem crescente(padrão). Esse método pode receber uma função como argumento para realizar uma ordenação customizada.

Sintaxe
variavel_array.sort(compareFunction);
Onde
compareFunction: função customizada para ordenação. 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 25
let x:number[] = [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 26
let x:number[] = [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 27
let array:number[] = [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();
Onde
-
Retorno
Número de elementos de variavel_array
Exemplo 28
let x:number[] = [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 do array.

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

for ( let vl of x.values()){
  console.log(vl);
}
Saída
uma
string
qualquer
  1. 29/08/2025 - revisão 3 - ajustes: pontuais e em sintaxes
  2. 14/09/2024 - revisão 2 - Correção em intro; título método 'join'; outros ajustes pontuais
  3. 02/09/2024 - revisão 1 - Correção em link findindex
  4. 29/02/2024 - versão inicial