Ruby中each和map的区别

324 阅读1分钟

区别

两个方法的区别在于返回值,each返回原数组,而map在遍历中改变数据后,将改变后的数据组成一个数组,最终返回这个数组。

示例

test_array = [1,2,3,4,5,6]

array_each = test_array.each do |n|
    n = n*2
end

p array_each # => [1, 2, 3, 4, 5, 6]

array_map = test_array.map do |n|
    n = n*2
end

p array_map # => [2, 4, 6, 8, 10, 12]

如有错误之处,还请大家批评指正。