Files
freeCodeCamp/guide/portuguese/ruby/common-array-methods/index.md

224 lines
4.8 KiB
Markdown
Raw Normal View History

---
title: Common Array Methods
localeTitle: 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](https://guide.freecodecamp.org/ruby/ruby-arrays) .
Para os propósitos deste guia, nosso array será o seguinte:
``` ruby
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:
``` ruby
array.length
=> 5
```
É similar aos métodos .count e .size .
``` ruby
array.count
=> 5
```
``` ruby
array.size
=> 5
```
#### .first
O método .first acessa o primeiro elemento do array, o elemento no índice 0:
``` ruby
array.first
=> 0
```
#### .last
O método .last accessa o último elemento do array:
``` ruby
array.last
=> 4
```
#### .take
O método .take retorna os primeiros n elementos do array:
``` ruby
array.take(3)
=> [0, 1, 2]
```
#### .drop
O método .drop retorna os elementos depois de n elementos do array:
``` ruby
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
```ruby
array[2]
=> 2
array[5]
=> nil
```
#### .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]
```
#### .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]
```
#### .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]
```
#### .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:
``` ruby
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 :
``` ruby
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 é):
``` ruby
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.
``` 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]
```
#### .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
```
#### .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]
```
#### .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"
```
#### .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
```
#### .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
```
#### .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]
```
#### .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]
```
## Mais Informações
* [Ruby Array docs](http://ruby-doc.org/core-2.5.1/Array.html)