gpt4 book ai didi

arrays - 如何在数组中找到与条件匹配的元素的索引并从数组中的特定点开始搜索?

转载 作者:数据小太阳 更新时间:2023-10-29 07:58:43 29 4
gpt4 key购买 nike

我正在使用 Ruby 2.4。我知道如何在匹配条件的元素数组中找到所有索引 ...

arr.each_index.select{|i| arr[i] == 'x'}

但是如何从数组中的特定位置开始找到与条件匹配的第一个元素的索引?那么,如果我想查找在索引 = 2 处或之后只有一个字符的字符串怎么办? (如果 tehre 少于 2 个元素,该操作可以返回 nil)。例如,如果我有

["abc", "d", "efg", "h", "abcde"]

该操作将返回“3”,因为元素“h”位于位置 3,只有一个字符并且在索引 2 处或之后。

最佳答案

使用 select将返回 block 返回 true 的所有值,例如:

p arr = ["abc", "d", "efg", "h", "abcde", "k"]
# => ["abc", "d", "efg", "h", "abcde", "k"]
p arr.each_index.select{|i| i >= 2 and arr[i].length == 1}
# => [3, 5]

改为使用 detect如果您只想返回 block 返回 true 的第一个值:

p arr = ["abc", "d", "efg", "h", "abcde", "k"]
# => ["abc", "d", "efg", "h", "abcde", "k"]
p arr.each_index.detect{|i| i >= 2 and arr[i].length == 1}
# => 3

关于arrays - 如何在数组中找到与条件匹配的元素的索引并从数组中的特定点开始搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42309757/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com