2018-10-12 15:37:13 -04:00
---
title: Common Array Methods
2019-08-13 10:47:45 -03:00
localeTitle: Métodos comunes de Array
2018-10-12 15:37:13 -04:00
---
2019-08-13 10:47:45 -03:00
## Métodos comunes de Array
2018-10-12 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
Los Arrays (arreglos) de Ruby forman una base fundamental en la programación en Ruby, y en la mayoría de los lenguajes de hecho. Se utilizan tanto que sería beneficioso conocer e incluso memorizar algunos de los métodos más utilizados para arrays. Si quieres saber más sobre los Arrays de Ruby, tenemos [un artículo sobre ellos ](https://guide.freecodecamp.org/ruby/ruby-arrays ).
2018-10-12 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
Para los fines de esta guía, nuestro array será el siguiente:
2018-10-12 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
``` ruby
array = [0, 1, 2, 3, 4]
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .length
El método .length calcula el número de elementos en tu array y retorna la cuenta:
2018-10-12 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
``` ruby
array.length
=> 5
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
Este método es similar a los métodos .count y .size.
2018-10-12 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
``` ruby
array.count
=> 5
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
``` ruby
array.size
=> 5
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .first
El método .first accede al primer elemento del array, es decir el elemento en el índice 0:
2018-10-12 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
``` ruby
array.first
=> 0
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .last
El método .last accede al último elemento del array:
``` ruby
array.last
=> 4
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .take
El método .take retorna los primeros n elementos del array:
2018-10-12 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
``` ruby
array.take(3)
=> [0, 1, 2]
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .drop
El método .drop retorna los elementos siguientes después de los primeros n elementos del array:
2018-10-12 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
``` ruby
array.drop(3)
=> [3, 4]
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### índice del array
Puedes acceder a un elemento determinado en el array a través de su índice. Si el índice no existe en el array, se retornará nulo:
2018-10-12 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
```ruby
array[2]
=> 2
2018-10-12 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
array[5]
=> nil
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .pop
El método .pop removerá de forma permanente el último elemento del array:
``` ruby
array.pop
=> [0, 1, 2, 3]
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .shift
El método .shift removerá de forma permanente el primer elemento del array y retornará este elemento:
``` ruby
array.shift
=> 0
array
=> [1, 2, 3, 4]
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .push
El método .push te permitirá agregar un elemento al final del array:
``` ruby
array.push(99)
=> [0, 1, 2, 3, 4, 99]
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .unshift
El método .unshift te permitirá agregar un elemento al principio del array:
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
array = [2, 3]
array.unshift(1)
=> [1, 2, 3]
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .delete
El método .delete remueve un elemento determinado de un array de forma permanente:
2018-10-12 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
``` ruby
array.delete(1)
=> [0, 2, 3, 4]
```
2018-10-12 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
#### .delete_at
El método .delete_at te permite remover de forma permanente un elemento del array para un índice determinado:
2018-10-12 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
``` ruby
array.delete_at(0)
=> [1, 2, 3, 4]
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .reverse
El método .reverse retorna un nuevo array con los mismos elementos del array original, pero con el orden invertido:
``` ruby
array.reverse
=> [4, 3, 2, 1, 0]
array
=> [0, 1, 2, 3, 4]
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .select
El método .select itera sobre un array y retorna un nuevo array que incluye cualquier item que retorne verdadero a la expresión provista:
``` ruby
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
array.select { |number| number > 4 }
=> [5, 6, 7, 8, 9, 10]
array
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .include?
El método include? verifica si el argumento dado está incluido en el array:
``` ruby
array = [1, 2, 3, 4, 5]
=> [1, 2, 3, 4, 5]
array.include?(3)
=> true
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .flatten
El método .flatten se puede usar para tomar un array que contiene arrays anidados y crear uno nuevo de una sola dimensión:
``` ruby
array = [1, 2, [3, 4, 5], [6, 7]]
array.flatten
=> [1, 2, 3, 4, 5, 6, 7]
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .join
El método .join retorna una cadena con todos los elementos del array separados por un parámetro separador. Si el parámetro separador es nulo, el método usa una cadena vacía como separador:
``` ruby
array.join
=> "01234"
array.join("*")
=> "0*1*2*3*4"
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .each
El método .each itera sobre cada elemento del array, permitiéndote ejecutar acciones sobre ellos:
``` ruby
array.each { |element| puts element }
=>
0
1
2
3
4
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .map
El método .map es igual que el método .collect. Los métodos .map y .collect iteran sobre cada elemento del array, permitiéndote ejecutar acciones sobre ellos. Los métodos .map y .collect se diferencian del método .each en que éstos retornan un array que contiene los elementos transformados:
``` ruby
array.map { |element| element * 2 }
=> [0, 2, 4, 6, 8]
2018-10-12 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .uniq
El método .uniq toma un array que contiene elementos duplicados y retorna una copia del array conteniendo solo los elementos únicos. Cualquier elemento duplicado es removido de este 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 15:37:13 -04:00
```
2019-08-13 10:47:45 -03:00
#### .concat
El método .concat concatena los elementos de un array provisto con los del array original. El método .concat puede tomar múliples arrays como argumento, lo cual concatenará múltiples arrays al array original:
2018-10-12 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
``` 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 15:37:13 -04:00
2019-08-13 10:47:45 -03:00
## Más información
* [Documentos de Ruby Array ](http://ruby-doc.org/core-2.5.1/Array.html )