如何在数组中找到ruby的整数/最大整数并返回索引位置?
这就是我到目前为止所拥有的
ages = [20,19,21,17,31,33,34] names = [Bob, Bill, Jill, Aimee, Joe, Matt, Chris]
如何使用年龄并应用一种方法从中提取最大的整数并学习其索引位置。 原因是我想知道名字中哪个人是最老的。 并行赋值阻止了我在数组上执行.sort的能力,因为它改变了与名称相关联的元素的位置。
请包含代码以仔细考虑,
ages.zip(names).max
names[ages.index(ages.max)]
它的作用是找到年龄的最大值(ages.max),得到年龄的第一个匹配值的索引,并用它来得到相应的人。 请注意,如果两个或更多人的年龄相同,那么它只会给出数组中第一个人的名字。
编辑:为了解决你的评论,我不确定为什么你需要这个并行数组结构(如果你只有一个人对象,它会容易得多)。 不过,您可以尝试以下方法:
indices = [] ages.each_with_index { |age, i| indices << i if age < 20 } indices.each { |i| puts names[i] }