Comprobar si el valor existe en un array en Ruby
-
Utilice la opción
Array#include?
Método para verificar si existe valor en Ruby Array -
Utilice la opción
Array#any?
Método para verificar si existe valor en Ruby Array -
Utilice el método
Array#index
para comprobar si existe valor en Ruby Array
En Ruby, un array es un tipo de datos común. Contiene elementos de varios tipos de datos, incluidos números, cadenas, booleanos e incluso otra matriz.
Es posible que necesitemos verificar si existe un valor en un array dada en algunas circunstancias. Este artículo muestra cómo hacerlo utilizando los métodos integrados del array.
Utilice la opción Array#include?
Método para verificar si existe valor en Ruby Array
Array#include?
parece ser la forma más sencilla de verificar si un valor reside dentro de un array.
Si un elemento está en un array, Array#include?
devuelve true
, de lo contrario false
.
print(['ruby', 'sapphire', 'amber'].include?('ruby'))
print("\n")
print(['ruby', 'sapphire', 'amber'].include?('moonstone'))
Producción :
true
false
Utilice la opción Array#any?
Método para verificar si existe valor en Ruby Array
También podríamos usar Array#any?
en lugar de Array#include?
para ver si un array contiene un valor. Porque Array#any?
acepta un bloque, es ideal para la lógica de verificación compleja.
Devuelve true
si el bloque devuelve un valor distinto de false
o nil
.
print(['ruby', 'sapphire', 'amber'].any? { |gem| gem == 'moonstone' })
print("\n")
print(['ruby', 'sapphire', 'amber'].any? { |gem| gem == 'ruby' })
Producción :
false
true
El siguiente código usará any?
para ver si un array contiene gemas con un tamaño superior a cuatro.
print(['ruby', 'sapphire', 'amber'].any? { |gem| gem.size > 4 })
Producción :
true
Utilice el método Array#index
para comprobar si existe valor en Ruby Array
O toma un solo valor, como include?
hace, o un bloque.
Array#index
devuelve el índice del valor coincidente, de lo contrario devuelve nil
, a diferencia de include?
y any?
que devuelven valores booleanos.
print(['ruby', 'sapphire', 'amber'].index { |gem| gem == 'ruby' })
print("\n")
print(['ruby', 'sapphire', 'amber'].index { |gem| gem.size > 10 })
Producción :
0
#returns nil