我有一个排序的元素数组:
array = ["A", "B", "C", "D", "E"]
我定义了一系列元素,其中“键”是起始元素,“值”是结束元素:
range_1 = {"C" => "D"}
range_2 = {"B" => "E"}
如何编写代码以根据数组上方的范围解析返回子数组?
result_1 = ["C", "D"]
result_2 = ["B", "C", "D", "E"]
最佳答案
假设数组的元素是唯一的:
array = ["A", "B", "C", "D", "E"]
range_1 = {"C" => "D"}
range_2 = {"B" => "E"}
def subarray(array, range)
from, to = range.first
idx_from = array.index(from)
idx_to = array.index(to)
array[idx_from..idx_to]
end
subarray(array, range_1) # => ["C", "D"]
subarray(array, range_2) # => ["B", "C", "D", "E"]
关于ruby - 基于散列键/值范围返回子数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19730075/