Ruby 數(shù)組方法可以大大簡(jiǎn)化數(shù)據(jù)處理。這里有一些常用的方法及其用途:
Array#each
:遍歷數(shù)組中的每個(gè)元素并執(zhí)行指定操作。numbers = [1, 2, 3, 4, 5]
numbers.each { |number| puts number * 2 }
Array#map
:創(chuàng)建一個(gè)新數(shù)組,其中包含對(duì)原數(shù)組中每個(gè)元素應(yīng)用指定操作的結(jié)果。numbers = [1, 2, 3, 4, 5]
doubled_numbers = numbers.map { |number| number * 2 }
Array#filter
:創(chuàng)建一個(gè)新數(shù)組,其中包含使原數(shù)組中元素滿足指定條件的元素。numbers = [1, 2, 3, 4, 5]
even_numbers = numbers.filter { |number| number % 2 == 0 }
Array#select
:與 filter
類似,但返回滿足條件的第一個(gè)元素。numbers = [1, 2, 3, 4, 5]
first_even_number = numbers.select { |number| number % 2 == 0 }.first
Array#reduce
:對(duì)數(shù)組中的所有元素執(zhí)行累積操作,從左到右。numbers = [1, 2, 3, 4, 5]
sum = numbers.reduce(0) { |total, number| total + number }
Array#find
:查找數(shù)組中滿足指定條件的第一個(gè)元素。numbers = [1, 2, 3, 4, 5]
first_even_number = numbers.find { |number| number % 2 == 0 }
Array#find_index
:查找數(shù)組中滿足指定條件的第一個(gè)元素的索引。numbers = [1, 2, 3, 4, 5]
first_even_index = numbers.find_index { |number| number % 2 == 0 }
這些方法可以根據(jù)需要組合使用,以實(shí)現(xiàn)更復(fù)雜的數(shù)據(jù)處理任務(wù)。Ruby 數(shù)組的強(qiáng)大功能可以幫助您更簡(jiǎn)潔、高效地處理數(shù)據(jù)。