我该如何在Ruby中实现它?是否有任何一行代码技术? 假设我想摆脱整数数组少于3的所有元素。如何删除满足Ruby中数组条件的所有元素?
33
A
回答
51
您可以使用new_array = array.reject {|x| x < 3}
(reject
返回一个新数组)或array.reject! {|x| x < 3}
(reject!
又名delete_if
修改到位数组)。
还有的(有点多见)select
方法,其作用就像除了你指定要保留的元素,不要拒绝他们的条件reject
(即摆脱元素小于3,你会使用new_array = array.select {|x| x >= 3}
)。
8
a = [ "a", "b", "c" ]
a.delete_if {|x| x >= "b" } #=> ["a"]
9
也许值得指出的是
array.reject! {|x| x < 3}
和
array.delete_if {|x| x < 3}
是相同的,但
array.reject {|x| x < 3}
仍然会返回相同的结果,但不能更改 “阵列” 。
0
这对数字和字母按字母顺序正常工作。他们的价值观进行比较,如果条件改变了会怎样?
array = ["Type", ": Jointed", "Axes", ": 6", "Reach", ": 951 mm", "Capacity", ": 6 Kg", "Uses", ": ", "Arc welding, material handling, machine loading, application", "This particular unit is in excellent condition with under 700 hours."]
我们需要删除所有elemetns后的 “使用” 值 例如:
array = ["Type", ": Jointed", "Axes", ": 6", "Reach", ": 951 mm", "Capacity", ": 6 Kg"]
所以,这desition不工作(它只是删除一个元素):
array.delete_if {|x| x >= "Uses" }
["Type", ": Jointed", "Axes", ": 6", "Reach", ": 951 mm", "Capacity", ": 6 Kg", ": ", "Arc welding, material handling, machine loading, application", "This particular unit is in excellent condition with under 700 hours."]
相关问题
- 1. 如何替换满足条件的数组的所有元素?
- 2. 从一组元素中选择一个满足条件的所有元素
- 3. 从列表中删除一些满足条件的元素
- 4. 如果满足条件,则删除记录的所有实例
- 5. 选择基团,其中的所有元素满足条件
- 6. 删除满足2个条件的2D numpy数组中的元组
- 7. 如何删除列表中满足一定条件的最左/最右元素?
- 8. 删除由价值元素满足一定条件
- 9. 检查是否所有元素满足条件
- 10. 如何获得满足条件的所有组合
- 11. 从数组ruby中删除所有元素并引发错误
- 12. 如何在满足条件时替换列表中的元素
- 13. 如何在LINQ中问“在LINQ中有没有满足条件的元素?
- 14. 数条件满足
- 15. 如何根据行范围内满足的条件删除列?
- 16. numpy:计数在一个元素满足条件的二维数组中
- 17. 统计一个数组中满足简单条件的元素数
- 18. 如何计算满足条件的元素
- 19. SQL Server,如果条件满足,如何删除COLUMN?
- 20. 从数据框中删除行直到满足条件
- 21. 仅显示满足mongodb条件的嵌套数组中的元素?
- 22. 从数组中删除对象的JavaScript API满足弹性搜索条件
- 23. 如何删除数组中的元素
- 24. 如何删除numpy数组中所有numpy数组中的第n个元素?
- 25. 如果条件得到满足,从类中删除代码块
- 26. 满足条件的行数
- 27. 只删除满足条件的第一行数据帧
- 28. 当满足某些条件时从这个对象数组中删除对象
- 29. 如果特定条件满足,更改子元素的颜色
- 30. 删除满足R中某些条件的行
谢谢你的技术;) – Chan 2011-02-15 16:19:09