本文介绍了检查数组元素的大小相同的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有,以检查是否数组元素具有相同的尺寸的最佳且有效的方式?
is there a best and efficient way to check if array's elements are of the same size?
[[1,2], [3,4], [5]] => false
[[1,2], [3,4], [5,6]] => true
我已经得到了:
def element_of_same_size?(arr)
arr.map(&:size).uniq.size == 1
end
另一种解决方案:
Another solution:
def element_of_same_size?(arr)
arr[1..-1].each do |e|
if e.size != arr.first.size
return false
else
next
end
end
return true
end
立刻当它找到一个元素的尺寸与第一种相同的这一次将返回false。
This one will return false immediately when it finds a element is not the same size as the first one.
有没有做到这一点最好的方法? (当然...)
Is there a best way to do this? (Of course...)
推荐答案
怎么样使用的方法?
What about using the Enumerable#all?
method?
def element_of_same_size?(arr)
arr.all? { |a| a.size == arr.first.size }
end
element_of_same_size?([[1,2], [3,4], [5]])
# => false
element_of_same_size?([[1,2], [3,4], [5, 6]])
# => true
这篇关于检查数组元素的大小相同的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!