如何在数组中寻找元素的各种方法

100 阅读2分钟

在Ruby和其他编程语言中,数组允许你在一个列表中存储相关信息,并通过一个变量来管理它们。

一旦你有了一个数组,你就可以操作存储在其中的元素,比如创建、读取、更新和删除元素。

在这个简短的指南中,我们将探讨在数组中寻找元素的各种方法。

1.包含法

要确定一个值是否在数组元素中',可以使用include? 方法。

Values = [10,20,30,40,50]
values.include? 20
=> true

include? 方法返回一个布尔值。如果数组包含指定的元素,则为真,如果没有找到该元素,则为假。

values.include? 100
=> false

2.使用选择方法

Ruby提供了一个叫做select的方法,允许你定义一个特定的条件。然后它评估数组中符合设定条件的元素,并在一个新的数组中返回它们。

values = [10,20,30,40,50]
values.select {|i| i > 33}
=> [40, 50]

select方法对于过滤出只符合特定条件的元素很方便。

值得注意的是,select方法并不在原地执行动作。然而,它创建了一个带有匹配元素的新数组。

要在原数组的位置上执行选择操作,可以使用select!方法。

3.使用索引方法

要通过指定一个元素的值来找到它在数组中的索引,你可以使用索引方法。

values = [10,20,30,40,50]
values.index 40
=> 3

如果指定的值在数组内,该方法将返回其索引,你可以用它来获取该项目。

4.使用查找方法

查找方法与选择方法类似。然而,它只返回符合指定条件的第一个值。因此,如果数组包含重复的值,它将只返回第一个匹配值。

values = [1,2,9,5,4,9,2,1]
values.find {|i| i % 2 == 0}

在上面的例子中,find方法在数组中搜索符合指定条件的第一个。

在我们的例子中,这个元素是2。然而,4也被评估为真,但该方法不包括它,因为它不是第一个元素。

提示:Ruby提供了一个find_all方法,其工作原理与前面讨论的select方法类似。

5.使用find_index

find_index方法与find类似。然而,它返回数组中第一个匹配元素的索引。

values = [1,2,9,5,4,9,2,1]
values.find_index {|i| i % 2 == 0}
=> 1

第一个匹配的值在索引1处。

结束

本指南说明了你可以用各种方法和技巧来寻找数组中的一个元素。

谢谢你的阅读!