推荐答案
在 Ruby 中,数组(Array)是一个非常常用的数据结构,提供了丰富的方法来操作数组。以下是一些常用的数组方法:
push/<<:向数组末尾添加元素。pop:移除并返回数组的最后一个元素。shift:移除并返回数组的第一个元素。unshift:向数组的开头添加元素。concat:将另一个数组的元素添加到当前数组的末尾。each:遍历数组中的每个元素。map/collect:对数组中的每个元素执行操作并返回新数组。select/find_all:返回满足条件的元素组成的新数组。reject:返回不满足条件的元素组成的新数组。sort:对数组进行排序。reverse:反转数组中的元素顺序。include?:检查数组是否包含某个元素。join:将数组中的元素连接成一个字符串。uniq:移除数组中的重复元素。flatten:将嵌套数组展平为一维数组。compact:移除数组中的所有nil元素。first:返回数组的第一个元素。last:返回数组的最后一个元素。size/length:返回数组的长度。empty?:检查数组是否为空。
本题详细解读
push / <<
push 和 << 方法用于向数组的末尾添加元素。<< 是 push 的简写形式。
arr = [1, 2, 3] arr.push(4) # => [1, 2, 3, 4] arr << 5 # => [1, 2, 3, 4, 5]
pop
pop 方法用于移除并返回数组的最后一个元素。
arr = [1, 2, 3] arr.pop # => 3 arr # => [1, 2]
shift
shift 方法用于移除并返回数组的第一个元素。
arr = [1, 2, 3] arr.shift # => 1 arr # => [2, 3]
unshift
unshift 方法用于向数组的开头添加元素。
arr = [1, 2, 3] arr.unshift(0) # => [0, 1, 2, 3]
concat
concat 方法用于将另一个数组的元素添加到当前数组的末尾。
arr1 = [1, 2, 3] arr2 = [4, 5] arr1.concat(arr2) # => [1, 2, 3, 4, 5]
each
each 方法用于遍历数组中的每个元素。
arr = [1, 2, 3]
arr.each { |x| puts x }
# 输出:
# 1
# 2
# 3map / collect
map 和 collect 方法用于对数组中的每个元素执行操作并返回新数组。
arr = [1, 2, 3]
new_arr = arr.map { |x| x * 2 } # => [2, 4, 6]select / find_all
select 和 find_all 方法用于返回满足条件的元素组成的新数组。
arr = [1, 2, 3, 4, 5]
new_arr = arr.select { |x| x.even? } # => [2, 4]reject
reject 方法用于返回不满足条件的元素组成的新数组。
arr = [1, 2, 3, 4, 5]
new_arr = arr.reject { |x| x.even? } # => [1, 3, 5]sort
sort 方法用于对数组进行排序。
arr = [3, 1, 2] sorted_arr = arr.sort # => [1, 2, 3]
reverse
reverse 方法用于反转数组中的元素顺序。
arr = [1, 2, 3] reversed_arr = arr.reverse # => [3, 2, 1]
include?
include? 方法用于检查数组是否包含某个元素。
arr = [1, 2, 3] arr.include?(2) # => true arr.include?(4) # => false
join
join 方法用于将数组中的元素连接成一个字符串。
arr = [1, 2, 3]
str = arr.join(', ') # => "1, 2, 3"uniq
uniq 方法用于移除数组中的重复元素。
arr = [1, 2, 2, 3, 3, 3] unique_arr = arr.uniq # => [1, 2, 3]
flatten
flatten 方法用于将嵌套数组展平为一维数组。
arr = [1, [2, [3, 4]]] flattened_arr = arr.flatten # => [1, 2, 3, 4]
compact
compact 方法用于移除数组中的所有 nil 元素。
arr = [1, nil, 2, nil, 3] compacted_arr = arr.compact # => [1, 2, 3]
first
first 方法用于返回数组的第一个元素。
arr = [1, 2, 3] first_element = arr.first # => 1
last
last 方法用于返回数组的最后一个元素。
arr = [1, 2, 3] last_element = arr.last # => 3
size / length
size 和 length 方法用于返回数组的长度。
arr = [1, 2, 3] arr.size # => 3 arr.length # => 3
empty?
empty? 方法用于检查数组是否为空。
arr = [] arr.empty? # => true arr = [1, 2, 3] arr.empty? # => false