我希望获得两个字符串数组的交集。第一个数组中包含大小写不同的字符串。我希望得到的结果数组应该保留第一个数组中的大小写,但是比较两个数组时应该忽略大小写。例如:
letters = ['Aaa', 'BbB', 'CCC']
permitted = ['aaa', 'bbb']
应该得到的结果是:
['Aaa', 'BbB']
我正在进行:
letters.map(&:downcase) & permitted.map(&:downcase)
但是这会返回['aaa', 'bbb']
有没有更简便的方法呢?更长的方法是:
letters.each { |letter|
if permitted.include?(letter.downcase)
accepted.push(letter)
end
}
但是,有没有更简短/更整洁的方法呢?