4.8 KiB
title, localeTitle
title | localeTitle |
---|---|
Common Array Methods | Métodos comuns do Array(arranjo) |
Métodos comuns do Array(arranjo)
Arrays(arranjos) Ruby formam uma base fundamental na programação em Ruby, e na maioria das linguagens de fato. É usado tanto que seria benéfico conhecer e até memorizar alguns dos métodos mais usados com Arrays(arranjos). Se você quiser saber mais sobre Arrays Ruby, temos um artigo sobre eles .
Para os propósitos deste guia, nosso array será o seguinte:
array = [0, 1, 2, 3, 4]
.length
O método .length conta o número de elementos no seu array e retorna esse número:
array.length
=> 5
É similar aos métodos .count e .size .
array.count
=> 5
array.size
=> 5
.first
O método .first acessa o primeiro elemento do array, o elemento no índice 0:
array.first
=> 0
.last
O método .last accessa o último elemento do array:
array.last
=> 4
.take
O método .take retorna os primeiros n elementos do array:
array.take(3)
=> [0, 1, 2]
.drop
O método .drop retorna os elementos depois de n elementos do array:
array.drop(3)
=> [3, 4]
índice do Array
Você pode acessar um elemento específico de um array pelo índice dele. Se o índice não existir no array, então, irá retornar nil
array[2]
=> 2
array[5]
=> nil
.pop
O método .pop irá remover permanentemente o último elemento de um array e retornar este elemento:
array.pop
=> [4]
array
=> [1, 2, 3]
.shift
O método .shift irá remover permanenemente o primeiro elemento de um array e retornar este elemento:
array.shift
=> 0
array
=> [1, 2, 3, 4]
.push
O metodo .push irá permitir que você you adicione um elemento ao final de um array:
array.push(99)
=> [0, 1, 2, 3, 4, 99]
.unshift
O método .unshift irá permitir que você you adicione um elemento ao começo de um array:
array = [2, 3]
array.unshift(1)
=> [1, 2, 3]
.delete
O método .delete remove permanentemente um elemento específico de um array:
array.delete(1)
=> [0, 2, 3, 4]
.delete_at
O método .delete_at permite que você remova permanentemente o elemento que se encontra em um índice específico no array :
array.delete_at(0)
=> [1, 2, 3, 4]
.reverse
O método .reverse retorna em ordem reversa um array, mas não o modifica (o array original permanece como é):
array.reverse
=> [4, 3, 2, 1, 0]
.select
O método .select itera sobra um array e retorna um novo array, onde estão incluídos todos itens retornaram verdadeiro na condição provida.
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
array.select { |numero| numero > 4 }
=> [5, 6, 7, 8, 9, 10]
array
=> [5, 6, 7, 8, 9, 10]
.include?
O método include? serve para ver se o argumento passado está incluído no array:
array = [1, 2, 3, 4, 5]
=> [1, 2, 3, 4, 5]
array.include?(3)
=> true
.flatten
O método flatten pode ser usado para pegar um array que contenha outros arrays aninhados e criar um único array uni-dimensional:
array = [1, 2, [3, 4, 5], [6, 7]]
array.flatten
=> [1, 2, 3, 4, 5, 6, 7]
.join
O método .join retorna uma string com todos elementos do array separados pelo parâmetro separador. Se parâmetro separador for nulo, o método usará uma string vazia como separador entre strings.
array.join
=> "1234"
array.join("*")
=> "1*2*3*4"
.each
O método .each ira iterar sobre cada elemento do array, permitindo então que você execute ações sobre cada um deles.
array.each do |elemento|
puts elemento
end
=>
0
1
2
3
4
.map
O método .map é o mesmo que o método .collect. O método .map e .collect iteram sobre cada elemento do array, permitindo que você execute ações nele. Os métodos .map e .collect diferem do método .each porque retornam um array contendo os elementos transformados.
array.map { |elemento| elemento * 2 }
puts elemento
end
=>
0
2
4
6
8
.uniq
O método .uniq pega um array contendo elementos duplicados e retorna uma cópia do array contendo somente elementos únicos. Elementos duplicados são removidos do array.
array = [1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 6, 7, 8]
array.uniq
=> [1, 2, 3, 4, 5, 6, 7, 8]
.concat
O método .concat anexa os elementos de um array para o array original. O método .concat pode receber múltiplos arrays como argumento dos quais irá anexar os elementos ao array original.
array = [0, 1, 2, 3, 4]
array.concat([5, 6, 7], [8, 9, 10])
=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]