Ruby數(shù)組提供了許多高效操作數(shù)據(jù)的方法,這里列舉一些常用的方法:
Array#each
:遍歷數(shù)組中的每個元素并執(zhí)行指定操作。numbers = [1, 2, 3, 4, 5]
numbers.each { |number| puts number }
Array#map
:對數(shù)組中的每個元素執(zhí)行指定操作,并返回一個新數(shù)組。numbers = [1, 2, 3, 4, 5]
squares = numbers.map { |number| number * number }
Array#filter
:根據(jù)指定條件過濾數(shù)組中的元素,并返回一個新數(shù)組。numbers = [1, 2, 3, 4, 5]
even_numbers = numbers.filter { |number| number.even? }
Array#select
:與filter
類似,但返回滿足條件的第一個元素。numbers = [1, 2, 3, 4, 5]
even_numbers = numbers.select { |number| number.even? }
Array#reduce
:對數(shù)組中的元素執(zhí)行累積操作,最終返回一個值。numbers = [1, 2, 3, 4, 5]
sum = numbers.reduce(0) { |total, number| total + number }
Array#inject
:與reduce
類似,但允許傳遞一個初始值。numbers = [1, 2, 3, 4, 5]
sum = numbers.inject(0) { |total, number| total + number }
Array#include?
:檢查數(shù)組中是否包含指定元素。numbers = [1, 2, 3, 4, 5]
puts numbers.include?(3) # 輸出 true
Array#first
和 Array#last
:分別返回數(shù)組中的第一個和最后一個元素。numbers = [1, 2, 3, 4, 5]
puts numbers.first # 輸出 1
puts numbers.last # 輸出 5
Array#length
或 Array#size
:返回數(shù)組中的元素個數(shù)。numbers = [1, 2, 3, 4, 5]
puts numbers.length # 輸出 5
Array#unshift
和 Array#push
:分別在數(shù)組的開頭和結(jié)尾添加元素。numbers = [1, 2, 3, 4, 5]
numbers.unshift(0) # 在數(shù)組開頭添加 0,結(jié)果為 [0, 1, 2, 3, 4, 5]
numbers.push(6) # 在數(shù)組結(jié)尾添加 6,結(jié)果為 [0, 1, 2, 3, 4, 5, 6]
這些方法只是Ruby數(shù)組方法中的一部分,Ruby還提供了許多其他方法來高效地操作數(shù)組。在使用這些方法時,可以根據(jù)實(shí)際需求選擇合適的方法,以提高代碼的可讀性和執(zhí)行效率。