我一直在努力学习如何处理由数组组成的数组。Array of Array,根据索引处数组的内容删除一个索引?
说我有这个数组:
my_array = [['ORANGE',1],['APPLE',2],['PEACH',3]
我怎么会去寻找一个包含“苹果”和删除索引(删除子数组my_array指数[“苹果”,2],因为'苹果“在该指数阵列condined)?
谢谢 - 我真的很感谢这里的帮助。
我一直在努力学习如何处理由数组组成的数组。Array of Array,根据索引处数组的内容删除一个索引?
说我有这个数组:
my_array = [['ORANGE',1],['APPLE',2],['PEACH',3]
我怎么会去寻找一个包含“苹果”和删除索引(删除子数组my_array指数[“苹果”,2],因为'苹果“在该指数阵列condined)?
谢谢 - 我真的很感谢这里的帮助。
您可以使用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
。
my_array.reject { |x| x[0] == 'APPLE' }
我认为MYYN解构产量(我认为这就是所谓的)是很好的。 – DigitalRoss 2011-02-05 02:18:19
这是一个变种:`a.reject {| x,y | x =='APPLE'}` – miku 2011-02-05 02:20:20
我测试了这一点,它的工作原理:
my_array.delete_if { |x| x[0] == 'APPLE' }
这是真棒。我非常感谢,谢谢! – Reno 2011-02-05 05:08:12