说我有一个2D数组
arraylist = [ [1,2,3], [78], [101,1,2,91] ]
如何使用max_by
方法查找存储最多整数的子数组的索引?
答案 0 :(得分:3)
arraylist.each_index.max_by { |i| arraylist[i].size }
#=> 2
如果你想要所有最大数组的索引(如果有一个平局),你可以编写以下内容。
arraylist = [ [1,2,3,4], [78], [101,1,2,91] ]
mx_size = arraylist.map(&:size).max
#=> 4
arraylist.each_index.select { |i| arraylist[i].size == mx_size }
#=> [0, 2]
答案 1 :(得分:2)
你可以试试这个
arraylist.index(arraylist.max_by{|x| x.length})
没有尝试但应该工作