2018-10-12 16:35:31 -04:00
---
title: Common Array Methods
2019-08-08 16:01:31 -03:00
localeTitle: Métodos comuns do Array(arranjo)
2018-10-12 16:35:31 -04:00
---
2019-08-08 16:01:31 -03:00
## Métodos comuns do Array(arranjo)
2018-10-12 16:35:31 -04:00
2019-08-08 16:01:31 -03:00
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 ](https://guide.freecodecamp.org/ruby/ruby-arrays ) .
2018-10-12 16:35:31 -04:00
Para os propósitos deste guia, nosso array será o seguinte:
2019-08-08 16:01:31 -03:00
``` ruby
array = [0, 1, 2, 3, 4]
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
2018-10-12 16:35:31 -04:00
#### .length
2019-08-08 16:01:31 -03:00
O método .length conta o número de elementos no seu array e retorna esse número:
2018-10-12 16:35:31 -04:00
2019-08-08 16:01:31 -03:00
``` ruby
array.length
=> 5
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
É similar aos métodos .count e .size .
2018-10-12 16:35:31 -04:00
2019-08-08 16:01:31 -03:00
``` ruby
array.count
=> 5
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
``` ruby
array.size
=> 5
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .first
O método .first acessa o primeiro elemento do array, o elemento no índice 0:
2018-10-12 16:35:31 -04:00
2019-08-08 16:01:31 -03:00
``` ruby
array.first
=> 0
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .last
O método .last accessa o último elemento do array:
``` ruby
array.last
=> 4
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .take
O método .take retorna os primeiros n elementos do array:
2018-10-12 16:35:31 -04:00
2019-08-08 16:01:31 -03:00
``` ruby
array.take(3)
=> [0, 1, 2]
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .drop
O método .drop retorna os elementos depois de n elementos do array:
2018-10-12 16:35:31 -04:00
2019-08-08 16:01:31 -03:00
``` ruby
array.drop(3)
=> [3, 4]
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### í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
2018-10-12 16:35:31 -04:00
2019-08-08 16:01:31 -03:00
```ruby
array[2]
=> 2
2018-10-12 16:35:31 -04:00
2019-08-08 16:01:31 -03:00
array[5]
=> nil
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .pop
O método .pop irá remover permanentemente o último elemento de um array e retornar este elemento:
``` ruby
array.pop
=> [4]
array
=> [1, 2, 3]
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .shift
O método .shift irá remover permanenemente o primeiro elemento de um array e retornar este elemento:
``` ruby
array.shift
=> 0
array
=> [1, 2, 3, 4]
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .push
O metodo .push irá permitir que você you adicione um elemento ao final de um array:
``` ruby
array.push(99)
=> [0, 1, 2, 3, 4, 99]
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .unshift
O método .unshift irá permitir que você you adicione um elemento ao começo de um array:
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
array = [2, 3]
array.unshift(1)
=> [1, 2, 3]
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .delete
O método .delete remove permanentemente um elemento específico de um array:
2018-10-12 16:35:31 -04:00
2019-08-08 16:01:31 -03:00
``` ruby
array.delete(1)
=> [0, 2, 3, 4]
```
2018-10-12 16:35:31 -04:00
2019-08-08 16:01:31 -03:00
#### .delete_at
O método .delete_at permite que você remova permanentemente o elemento que se encontra em um índice específico no array :
2018-10-12 16:35:31 -04:00
2019-08-08 16:01:31 -03:00
``` ruby
array.delete_at(0)
=> [1, 2, 3, 4]
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .reverse
O método .reverse retorna em ordem reversa um array, mas não o modifica (o array original permanece como é):
``` ruby
array.reverse
=> [4, 3, 2, 1, 0]
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .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.
``` ruby
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]
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .include?
O método include? serve para ver se o argumento passado está incluído no array:
``` ruby
array = [1, 2, 3, 4, 5]
=> [1, 2, 3, 4, 5]
array.include?(3)
=> true
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .flatten
O método flatten pode ser usado para pegar um array que contenha outros arrays aninhados e criar um único array uni-dimensional:
``` ruby
array = [1, 2, [3, 4, 5], [6, 7]]
array.flatten
=> [1, 2, 3, 4, 5, 6, 7]
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .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.
``` ruby
array.join
=> "1234"
array.join("*")
=> "1*2*3*4"
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .each
O método .each ira iterar sobre cada elemento do array, permitindo então que você execute ações sobre cada um deles.
``` ruby
array.each do |elemento|
puts elemento
end
=>
0
1
2
3
4
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .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.
``` ruby
array.map { |elemento| elemento * 2 }
puts elemento
end
=>
0
2
4
6
8
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .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.
``` ruby
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]
2018-10-12 16:35:31 -04:00
```
2019-08-08 16:01:31 -03:00
#### .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.
``` ruby
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]
```
2018-10-12 16:35:31 -04:00
## Mais Informações
2019-08-08 16:01:31 -03:00
* [Ruby Array docs ](http://ruby-doc.org/core-2.5.1/Array.html )