我该如何在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. PHP - 计数的数组的所有元素满足条件的
- 3. 选择所有连接元素的条件满足的元素
- 4. 如果该列中的所有元素满足条件,则删除多维数组中的列
- 5. 从一组元素中选择一个满足条件的所有元素
- 6. 从列表中删除一些满足条件的元素
- 7. 如果满足条件,则删除记录的所有实例
- 8. 选择基团,其中的所有元素满足条件
- 9. R有多少元素满足条件?
- 10. 删除满足2个条件的2D numpy数组中的元组
- 11. 如何删除列表中满足一定条件的最左/最右元素?
- 12. 删除由价值元素满足一定条件
- 13. 如果行的其中一个元素不满足条件,我该如何删除数组的行?
- 14. 删除子数组,如果条件(两个键和值)满足
- 15. 查找满足条件的numpy数组的元素
- 16. 检查是否所有元素满足条件
- 17. 如何获得满足条件的所有组合
- 18. 从满足条件矢量的矢量中擦除元素
- 19. 检查如果一个数组中的任何元素满足条件
- 20. Ruby:从数组中删除所有非字符串元素
- 21. 从数组ruby中删除所有元素并引发错误
- 22. 如何有条件地从元组列表中删除元素?
- 23. 导轨 - 删除满足条件
- 24. 如果任何元件满足条件
- 25. 如何选择其中的子元素满足给定条件
- 26. 如何在满足条件时替换列表中的元素
- 27. 当只有一行满足R中的条件时,如何删除属于特定组的所有行?
- 28. 如何在LINQ中问“在LINQ中有没有满足条件的元素?
- 29. 删除满足特定条件的单元格
- 30. 数条件满足
谢谢你的技术;) – Chan 2011-02-15 16:19:09