数组数组,根据索引中数组的内容删除索引?

时间:2011-02-05 02:03:12

标签: ruby

我一直在努力学习如何处理由数组组成的数组。

说我有这个阵列:

my_array = [['ORANGE',1],['APPLE',2],['PEACH',3]

我如何找到包含'apple'的my_array索引并删除该索引(删除子数组['APPLE',2],因为'apple'在该索引的数组中被包含在内)?

谢谢 - 我非常感谢这里的帮助。

3 个答案:

答案 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' }