【发布时间】:2017-05-17 16:40:55
【问题描述】:
在 Ruby 2.4 中,如何在另一个数组中找到一个数组元素的最早索引?也就是说,如果一个数组的任何元素出现在另一个数组中,我想获取第一个索引。我认为 find_index 可能会这样做,但是
a = ["a", "b", "c"]
# => ["a", "b", "c"]
a.find_index("a")
# => 0
a.find_index(["b", "c"])
# => nil
在上面的示例中,我希望看到输出“1”,因为元素“b”出现在数组“a”的索引 1 处。
【问题讨论】:
-
你在
["a", "b", "c"]中找到"a"的索引是用a.find_index("a"),那为什么你用a.find_index(["b", "c"])而不是a.find_index("b")来找到"b"的索引呢?a.find_index(["b", "c"])正在数组a中寻找一个看起来像["b", "c"]但不存在的元素。那是一个子数组,而不是一个元素。 -
您是要按顺序查找
b,c的第一次出现,还是只是给定数组中的第一个条目?