我正在尝试在数组中搜索一个值,如果找到该值,则返回找到该值以及找到该值的索引。如果找不到该值,则返回的索引为-1
array = [1, 2, 3]
search_value = gets.chomp
array.map.include?(search_value) || -1
if index != -1
puts "Found " + search_value + " at " + index.to_s
期望的结果是Found 2 at 1
而不是我收到的Found 2 at True
,我知道为什么会这样,但是我不知道如何解决
答案 0 :(得分:2)
您只需使用array.index(element)
示例:
array = [1, 2, 3, 4, 5]
array.index(5) || -1 # returns 4 (because 5 is at 4th index)
array.index(6) || -1 # returns -1
答案 1 :(得分:1)
答案 2 :(得分:0)
array = ["1", "2", "3"]
search_value = gets.chomp
index = array.index(search_value) || -1
puts "Found " + search_value + " at " + index.to_s
// Type 2
// Expected output: Found 2 at 1
我不知道为什么array = [1, 2, 3]
不能正常工作,但是我尝试使用array = ["1", "2", "3"]
来工作。希望有人能解释一下。