iT邦幫忙

2022 iThome 鐵人賽

DAY 7
0
Modern Web

Ruby新手村的礦工日記系列 第 7

[Day 07 ] Ruby - 10種陣列操作的方法

  • 分享至 

  • xImage
  •  

上一篇,已經知道陣列是甚麼了,這個單元將介紹10種陣列操作的方法。

新增

push

將元素新增在陣列後面。
同append。

arr = [1, 2, 3]
p arr.push("a", :b)      # 印出 [1, 2, 3, "a", "b"]
p arr.append("しばいぬ")  # 印出 [1, 2, 3, "a", "b", "しばいぬ"]

unshift

將元素新增在陣列前面。
同prepend。

arr = [1, 2, 3]
p arr.unshift("x", :y)    # 印出 ["x", "y", 1, 2, 3]
p arr.prepend("しばいぬ")  # 印出 ["しばいぬ", "x", "y", 1, 2, 3]

刪除

刪除陣列中的元素有好幾種方式,以下會介紹幾種刪除的方法。

pop

如果()沒有帶入引數,會刪掉最後一個元素。
如果()帶入引數,會刪除後面n個元素。

arr = [1, 2, 3, "a", "b", "しばいぬ"]
arr.pop()    # => ["しばいぬ"]
p arr        # 印出 [1, 2, 3, "a", "b"]
arr.pop(3)   # => [3, a", "b"]
p arr        # 印出 [1, 2]

shift

刪除陣列中,第一個的元素。
如果()帶入引數,會刪前面n個元素。

arr = [1, 2, 3, "a", "b", "しばいぬ"]
arr.shift()
p arr        # 印出 [2, 3, "a", "b", "しばいぬ"]
arr.shift(2)
p arr        # 印出 ["a", "b", "しばいぬ"]

delete

刪除陣列中指定的元素。

arr = [1, 2, 3, 3, 3, 4, 5, 5, 6]
arr.delete(3)
p arr        # 印出 [1, 2, 4, 5, 5, 6]

delete_at

刪除指定位置(索引值)的元素。

arr = [1, 2, 4, 5, 5, 6]
arr.delete_at(3)
p arr

map

對陣列裡的每個元素進行運算,並收集成一個新的陣列。

arr = [1, 2, 3, 4, 5]

p arr.map{ |x| x*2}  # 印出 [2, 4, 6, 8, 10]
p arr                # 印出 [1, 2, 3, 4, 5]

select

從陣列中篩選符合條件的元素,並蒐集成一個新的陣列。

arr = [1, 2, 3, 4, 5, 6, 7]

p arr.select{|x| x > 5}   # 印出 [6, 7]
# 選出此陣列中的奇數
p arr.select{|x| x.odd?}  # 印出 [1, 3, 5, 7]
# 精簡版
p arr.select(&:odd?)      # 印出 [1, 3, 5, 7]

reduce

對陣列中的每個元素進行運算,並將所有的運算結果歸納成一個單一結果

arr = [1, 2, 3, 4, 5, 6, 7]

p arr.reduce { |sum, x| sum + x }  # 印出 28

include?

判斷陣列中是否有指定的元素。
如果會回傳true
如果沒有,則會回傳false

hero = ["埼玉", "傑諾斯"," 爆滅", "龍卷", "邦格"]
p hero.include?("埼玉")    # true
p hero.include?("king")   # falue

以上這些方法只是其中的一小部分,如果還想知道其他的方法,可以去Ruby官方手冊去看,裡面會有更多的介紹。

參考資料:

  1. 為你自己學 Ruby on Rails

上一篇
[ Day 06 ] Ruby 陣列
下一篇
[ Day 08 ] Ruby 第一次聽到雜湊以為是吃的
系列文
Ruby新手村的礦工日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言