DEV Community

Joel Oliveira
Joel Oliveira

Posted on • Updated on • Originally published at joeldorosarioo.dev

Conhecendo os métodos de Arrays no JavaScript

O que é Array em JavaScript?

Um Array (também conhecido como matriz) armazena uma coleção de elementos, que podem ser de diferentes tipos de dados, tais como números, strings, booleans e objetos. Os elementos dentro de um array são acessados através de um índice, que começa em 0 para o primeiro elemento do array.

Embora seja possível armazenar diferentes tipos de dados em um único array no JavaScript, é recomendado que usemos apenas um tipo de dado por array. Isso ajuda a manter a organização dos dados e torna mais fácil a manipulação dos elementos dentro do array.

Podemos declarar arrays de duas maneiras diferentes.

  • new Array
const fruits = new Array("Apple", "Banana");
Enter fullscreen mode Exit fullscreen mode
  • Literal Notation
const fruits = ["Apple", "Banana"];
Enter fullscreen mode Exit fullscreen mode

Métodos de Array

Agora, vamos entender os métodos de um array dentro do JavaScript e como usá-los.

  • Map()

O método .map() permite executar uma função de callback para cada elemento dentro do array.

const list = [1, 2, 3, 4, 5];
list.map((item) => item * 2); // Output: [2, 4, 6, 8, 10]
Enter fullscreen mode Exit fullscreen mode
  • Filter()

O método .filter() retorna uma cópia superficial com todos os elementos que passaram no teste implementado pela função fornecida.

const list = [1, 2, 3, 4, 5];
list.filter((item) => item % 2 === 0); // Output: [2, 4]
Enter fullscreen mode Exit fullscreen mode
  • Push()

Adiciona um novo ou mais elementos ao final do array e retorna o novo comprimento.

const list = [1, 2, 3, 4, 5];
list.push(6); // Output: 6
console.log(list); // Output: [1, 2, 3, 4, 5, 6]
Enter fullscreen mode Exit fullscreen mode
  • Pop()

Remove o último elemento do array e retorna esse elemento.

const list = [1, 2, 3, 4, 5];
list.pop(); // Output: 5
console.log(list); // Output: [1, 2, 3, 4]
Enter fullscreen mode Exit fullscreen mode
  • Unshift()

Adiciona um novo ou mais elementos ao inicio do array e retorna o novo comprimento.

const list = [1, 2, 3, 4, 5];
list.unshift(0); // Output: 6
console.log(list); // Output: [0, 1, 2, 3, 4, 5]
Enter fullscreen mode Exit fullscreen mode
  • Shift()

Remove o primeiro elemento do array e retorna esse elemento.

const list = [1, 2, 3, 4, 5];
list.shift(); // Output: 1
console.log(list); // Output: [2, 3, 4, 5]
Enter fullscreen mode Exit fullscreen mode
  • Splice()

O método .splice() é um método de uso geral para alterar o conteúdo de uma array removendo, substituindo ou adicionando elementos em posições especificadas da array.

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 0, "Lemon", "Kiwi");
console.log(fruits); // Output: ['Banana', 'Orange', 'Lemon', 'Kiwi', 'Apple', 'Mango']
Enter fullscreen mode Exit fullscreen mode
  • Slice()

O método .slice() retorna uma cópia superficial com todos os elementos selecionados. Este método recebe dois argumentos, o índice inicial e o índice final da seleção. O índice final é opcional, e se não for especificado, o método seleciona todos os elementos a partir do índice inicial até o final do array.

const fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log(fruits.slice(1)); // Output: ["Orange", "Apple", "Mango"]
console.log(fruits.slice(1, 3)); // Output: ["Orange", "Apple"]
Enter fullscreen mode Exit fullscreen mode
  • IndexOf()

O método .indexOf() retorna o índice de um determinado elemento ou retorna -1 se este elemento não estiver presente no array.

const list = [1, 2, 3, 4, 5];
list.indexOf(3); // Output: 2
list.indexOf(6); // Output: -1
Enter fullscreen mode Exit fullscreen mode
  • Reduce()

O método .reduce() executa uma função de callback para cada elemento do array, retornando o resultado final do cálculo de todos os elementos.

const list = [1, 2, 3, 4, 5];
list.reduce((total, item) => total + item); // Output: 15
Enter fullscreen mode Exit fullscreen mode
  • Includes()

Retorna true se o elemento fornecido estiver presente no array.

const list = [1, 2, 3, 4, 5];
list.includes(3); // Output: true
list.includes(6); // Output: false
Enter fullscreen mode Exit fullscreen mode
  • Sort()

O método .sort() ordena os elementos do array. A ordem padrão é crescente, construída na conversão dos elementos em strings e, em seguida, comparando suas sequências de valores de unidades de código UTF-16.

const array = ['D', 'B', 'A', 'C'];
array.sort(); // Output: ['A', 'B', 'C', 'D']

const list = [4, 1, 3, 2, 10];
list.sort(); // Output: [1, 10, 2, 3, 4]
list.sort((a, b) => a - b); // Output: [1, 2, 3, 4, 10]
Enter fullscreen mode Exit fullscreen mode
  • Reverse()

Inverte a ordem dos elementos.

const list = [1, 2, 3, 4, 5];
list.reverse();
console.log(list) // Output: [5, 4, 3, 2, 1]
Enter fullscreen mode Exit fullscreen mode
  • Find()

Retorna o primeiro elemento do array que satisfaz a função de teste fornecida. Se nenhum valor satisfizer a função de teste, undefined será retornado.

const list = [1, 2, 3, 4, 5];
list.find((el) => el === 3); // Output: 3
list.find((el) => el === 6); // Output: undefined
Enter fullscreen mode Exit fullscreen mode
  • FindIndex()

O método .findIndex() retorna o índice de um determinado elemento ou retorna -1 se este elemento não estiver presente no array.

A principal diferença entre .indexOf() e findIndex são os parâmetros dessas funções:

  • .indexOf() espera um valor como primeiro parâmetro. Isso o torna uma boa escolha para encontrar o índice em arrays de tipos primitivos, como strings, numbers, ou booleans.

  • .findIndex() espera uma função de callback como primeiro parâmetro. Isso faz com quê este método seja uma boa escolha para buscar o índice em arrays de tipos não primitivos (por exemplo, objetos) ou se sua condição de localização for mais complexa do que apenas um valor.

const list = [5, 12, 8, 130, 44];
list.findIndex((element) => element > 13); // Output: 3

const array = [{ id: 12 }, { id: 34 }, { id: 78 }, { id: 88 }];

array.findIndex((element) => element.id === 78); // Output: 2
Enter fullscreen mode Exit fullscreen mode
  • Join()

Une todos os elementos de um array em uma string.

const list = [1, 2, 3, 4, 5];
list.join(', '); // Output: "1, 2, 3, 4, 5"
Enter fullscreen mode Exit fullscreen mode
  • Some()

Retorna true se pelo menos um elemento do array passar no teste implementado pela função fornecida.

const list = [1, 2, 3, 4, 5];
list.some((el) => el === 3); // Output: true
list.some((el) => el === 6); // Output: false
Enter fullscreen mode Exit fullscreen mode
  • Every()

Retorna true se todos os elementos do array passarem no teste implementado pela função fornecida.

const list = [1, 2, 3, 4, 5];
list.every((el) => el === 3); // Output: false

const list = [2, 4, 6, 8, 10];
list.every((el) => el % 2 === 0); // Output: true
Enter fullscreen mode Exit fullscreen mode
  • At()

Retorna o elemento no índice especificado.

const list = [5, 12, 8, 130, 44];

let index = 2;
console.log(`Using an index of ${ index } the item returned is ${ list.at(index) }.`); // Output: "Using an index of 2 the item returned is 8"

index = -2;
console.log(`Using an index of ${ index } item returned is ${ list.at(index) }.`); // Output: "Using an index of -2 item returned is 130"
Enter fullscreen mode Exit fullscreen mode
  • Flat()

Retorna um novo array com todos os elementos do sub-array concatenados nele recursivamente até a profundidade especificada.

const list = [1, 2, [3, 4, [5, 6]]];
list.flat(Infinity); // Output: [1, 2, 3, 4, 5, 6]
Enter fullscreen mode Exit fullscreen mode

Em resumo, um array em JavaScript é uma coleção de elementos acessados por índices que podem ser de diferentes tipos de dados. Embora seja possível armazenar diferentes tipos de dados em um único array, é recomendado usar apenas um tipo de dado para manter a organização dos dados. Existem vários métodos disponíveis em JavaScript para manipular arrays, como map(), filter(), push(), pop(), unshift(), shift(), splice(), slice(), indexOf(), reduce(), includes() e sort(). Cada método executa uma operação específica em um array e ajuda a tornar a manipulação de dados mais fácil e eficiente.

Top comments (1)

Collapse
 
brmartin profile image
brmartin | Bruno Martins

Boa! A série sobre JS está muito legal. Continue postando conteúdo para a comunidade!