我一直在努力学习如何处理由数组组成的数组。
说我有这个阵列:
my_array = [['ORANGE',1],['APPLE',2],['PEACH',3]
我如何找到包含'apple'的my_array索引并删除该索引(删除子数组['APPLE',2],因为'apple'在该索引的数组中被包含在内)?
谢谢 - 我非常感谢这里的帮助。
答案 0 :(得分:7)
您可以使用Array.select
过滤掉项目:
>> a = [['ORANGE',1],['APPLE',2],['PEACH',3]]
=> [["ORANGE", 1], ["APPLE", 2], ["PEACH", 3]]
>> a.select{ |a, b| a != "APPLE" }
=> [["ORANGE", 1], ["PEACH", 3]]
select
将返回给定块(此处为a != "APPLE"
)返回true
的项目。
答案 1 :(得分:6)
my_array.reject { |x| x[0] == 'APPLE' }
答案 2 :(得分:4)
我测试了它,它有效:
my_array.delete_if { |x| x[0] == 'APPLE' }