精减前
arr = [1,2,3,4,5]
if (arr.include? 1) || (arr.include? 2) || (arr.include? 4)
#do something
end
精减后
arr = [1,2,3,4,5]
if (arr & [1,2,4]).any?
#do something
end
数组对象的 & 操作,是求数组的交集 因此,需要判断在某个大的集合中,是否包含小集合中的一个或者多个时, 用 & 操作取代 || 操作可以精减代码
数组中,值得注意的还有 - 操作,
a = [1,2,3]
b = [2,3,4]
a - b #[1]
b - a #[4]
a - b 操作得到的数组是在 a 中存在,但 b 中不存在的元素,反之亦然