在Ruby语言中,数组减法或reject
>> [1,3,5,7,7] - [7]
=> [1, 3, 5]
>> [1,3,5,7,7].reject{|i| i == 7}
=> [1, 3, 5]
将删除数组中的所有条目。有没有简单的删除1个匹配项?
发布于 2011-01-19 12:01:57
>> a = [1,3,5,7,7]
>> a.slice!(a.index(7))
=> 7
>> a
=> [1,3,5,7]
发布于 2011-01-19 11:57:36
我能想到的最好的结果是:
found = false
[1,3,5,7,7].reject{|i| found = true if !found && i == 7}
或破坏性的:
arr = [1, 2, 3, 5, 7, 7]
arr.delete_at( arr.index(7))
arr #=> [1, 2, 3, 5, 7]
发布于 2011-01-19 12:12:00
虽然它不能直接回答您的问题,但uniq
可能是您想要的。
[1,3,5,7,7].uniq # => [1,3,5,7]
https://stackoverflow.com/questions/4731553
复制相似问题