Arrays

Arrays, também conhecidos como vetores, são estruturas que armazenam dados de maneira sequencial. Além disso, seus elementos são indexados. Sua grande utilidade é armazenar, em uma única variável, uma série de elementos.

Declaração

Em javascript, arrays são dinâmicos. Não é necessário alocar memória previamente, ou re-alocar memória para inserir ou deletar elementos. Para declarar um array, basta utilizar []

let elements = []

Também é possível inicializar um array com dados:

let elements = ['a', 3, 85, 'maria']

Outra propriedade interessante dos arrays em javascript é a sua capacidade de armazenar elementos de diferentes tipos. É possível ter números e strings em um mesmo array. Além disso, arrays são indexados a partir do número 0.

Acessando elementos via index

É possível acessar o iésimo elemento de um array por meio de seu índice [i].

let my_array = ['b', 'c']
let first_element = my_array[0]

console.log(first_element)
// Imprime 'b'

Acessando elementos via valor

O operador indexOf permite encontrar a primeira ocorrência de um valor em um array, retornando -1 caso não haja ocorrência.

let my_array = ['a', 'b', 'c', 'd']
c_index = my_array.indexOf('c')

console.log(c_index)
// Imprime 2

Modificando elementos via index

Ao contrário das Strings, arrays são mutáveis em Javascript. Isso significa que é possível acessar e modificar seus elementos.

let my_array = ['b', 'c']
my_array[1] = 'k'

console.log(my_array)
// Imprime ['b', 'k']

Inserindo elementos

É possível inserir elementos em um array utilizando:

  • push: Insere no final

  • unshift: Insere no início

let my_array = ['b', 'c']

my_array.push('z')
my_array.unshift('a')

console.log(my_array)

// Imprime ["a", "b", "c", "Z"]

Propriedade "length"

Retorna o tamanho do array.

let my_array = ['a', 'b', 'c']
console.log(my_array.length)
// Imprime 3

Removendo elementos

É possível remover elementos utilizando:

  • pop: Remove o último elemento e o retorna

let my_array = ['a', 'b', 'c']
my_array.pop()

console.log(my_array) // Imprime ['a', 'b']
  • shift: Remove o primeiro elemento e o retorna

let my_array = ['a', 'b', 'c']
my_array.shift()

console.log(my_array)
// Imprime ['b', 'c']

Gerando sub-arrays

O operador slice(start, end) corta o array a partir de um índice inicial e final.

let my_array = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
sub_array = my_array.slice(2, 5)

console.log(sub_array)
// Imprime ["c", "d", "e"]

É importante relembrar que arrays são indexados a partir do 0.

Além disso, slice inclui o elemento start, mas não o end. No exemplo acima, my_array[2] ("c"), é incluído, masmy_array[5] ("f"), não.

Iterando sobre arrays

Uma das maiores utilidades do comando for é iterar sobre arrays. É possível utilizar o tamanho do array, my_array.length, para isto:

let my_array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

for (let i = 0; i < my_array.length; i++) {
    my_array[i] = my_array[i]**2    
}

console.log(my_array)
// Imprime [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144]

Entretanto, como é uma tarefa muito comum iterar sobre arrays e manipular o elemento atual da iteração, foi criado um método para isto, o for(elem of array),porém, diferente do anterior, o elemento original não permanece no array original, tendo que criar um array auxiliar para mostrar o resultado:

let my_array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
let new_array = []

for (number of my_array){
    new_array.push(number**2)
}

console.log(new_array)

Importante notar que essa maneira de iterar sobre vários elementos não é uma exclusividade da definição do array, além de existir algumas outra maneiras de iterar sobre um array (como a função map).

Last updated