4.8 KiB
title, localeTitle
title | localeTitle |
---|---|
Common Array Methods | Métodos comunes de Array |
Métodos comunes de Array
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.
Para los fines de esta guía, nuestro array será el siguiente:
array = [0, 1, 2, 3, 4]
.length
El método .length calcula el número de elementos en tu array y retorna la cuenta:
array.length
=> 5
Este método es similar a los métodos .count y .size.
array.count
=> 5
array.size
=> 5
.first
El método .first accede al primer elemento del array, es decir el elemento en el índice 0:
array.first
=> 0
.last
El método .last accede al último elemento del array:
array.last
=> 4
.take
El método .take retorna los primeros n elementos del array:
array.take(3)
=> [0, 1, 2]
.drop
El método .drop retorna los elementos siguientes después de los primeros n elementos del array:
array.drop(3)
=> [3, 4]
í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:
array[2]
=> 2
array[5]
=> nil
.pop
El método .pop removerá de forma permanente el último elemento del array:
array.pop
=> [0, 1, 2, 3]
.shift
El método .shift removerá de forma permanente el primer elemento del array y retornará este elemento:
array.shift
=> 0
array
=> [1, 2, 3, 4]
.push
El método .push te permitirá agregar un elemento al final del array:
array.push(99)
=> [0, 1, 2, 3, 4, 99]
.unshift
El método .unshift te permitirá agregar un elemento al principio del array:
array = [2, 3]
array.unshift(1)
=> [1, 2, 3]
.delete
El método .delete remueve un elemento determinado de un array de forma permanente:
array.delete(1)
=> [0, 2, 3, 4]
.delete_at
El método .delete_at te permite remover de forma permanente un elemento del array para un índice determinado:
array.delete_at(0)
=> [1, 2, 3, 4]
.reverse
El método .reverse retorna un nuevo array con los mismos elementos del array original, pero con el orden invertido:
array.reverse
=> [4, 3, 2, 1, 0]
array
=> [0, 1, 2, 3, 4]
.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:
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]
.include?
El método include? verifica si el argumento dado está incluido en el array:
array = [1, 2, 3, 4, 5]
=> [1, 2, 3, 4, 5]
array.include?(3)
=> true
.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:
array = [1, 2, [3, 4, 5], [6, 7]]
array.flatten
=> [1, 2, 3, 4, 5, 6, 7]
.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:
array.join
=> "01234"
array.join("*")
=> "0*1*2*3*4"
.each
El método .each itera sobre cada elemento del array, permitiéndote ejecutar acciones sobre ellos:
array.each { |element| puts element }
=>
0
1
2
3
4
.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:
array.map { |element| element * 2 }
=> [0, 2, 4, 6, 8]
.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:
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
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:
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]