我有一个多维数组,其中包含有关各种对象的大量信息。我想删除包含类似信息的第一个数组实例:
multi_array = [
["Nissan", "Altima", "tan", "2016", "80000"],
["Ford", "F-150", "silver", "2012", "120000"],
["Nissan", "Altima", "red", "2009", "50000"],
["Audi", "A4", "blue", "2014", "30000"]
]
在上面的示例中,我想删除其中包含“Altima”实例的任何子数组,以便结果为:
fixed_multi_array = [
["Nissan", "Altima", "tan", "2016", "80000"],
["Ford", "F-150", "silver", "2012", "120000"],
["Audi", "A4", "blue", "2014", "30000"]
]
在ruby(或Ruby on Rails)中执行此操作的最快方法是什么?
应该澄清一点,我希望根据一个总是在子数组的相同位置的值进行重复数据删除。因此,在上面的示例中,我总是希望仅对子阵列的位置1中的值进行重复数据删除。
答案 0 :(得分:6)
答案 1 :(得分:0)
以下是另一种方法:
multi_array.group_by {|i| i[1]}.values.map(&:first)