【Ruby】ruby关于数组的几个方法

文档链接:ruby文档地址

delete()

  • 简介:

从self中删除等于obj的所选项。返回最后删除的项,如果找不到匹配项,则返回nil。如果给定了可选代码块,则如果找不到该项,则返回该代码块的结果。(要删除nil元素并获得有信息量的返回值,请使用#compact!)

  • String范例:

“(aa11234[s]d)d”.delete("()[]") => “aa11234sdd”

  • Array范例:

pry(main)> a = [12,3,5]
=> [12, 3, 5]
pry(main)> a.delete(3)
=> 3
pry(main)> a
[12, 5]

group_by()

  • 使用

pry(main)> [{a:23,n:3},{a:12,d:3},{a:11}].group_by{|item| item[:a]}
=> {23=>[{:a=>23, :n=>3}], 12=>[{:a=>12, :d=>3}], 11=>[{:a=>11}]}

sort()

  • 简单范例:

pry(main)> [3,3,4,3,2,1,0,34,12,121].sort
=> [0, 1, 2, 3, 3, 3, 4, 12, 34, 121]

  • 指定列排序:

pry(main)> [{a:23,n:3},{a:12,d:3},{a:11}].sort{|item| item[:a]}
=> [{:a=>11}, {:a=>12, :d=>3}, {:a=>23, :n=>3}]

revserse

  • sort的扩展

pry(main)> [{a:23,n:3},{a:12,d:3},{a:11}].sort{|item| item[:a]}.reverse
=> [{:a=>23, :n=>3}, {:a=>12, :d=>3}, {:a=>11}]

猜你喜欢

转载自blog.csdn.net/m0_46537958/article/details/108602252