我有一个数组:
array = [1,2,3,4,5,2,6,7,2,8,9,2,10]
我想用 'x'
替换所有的 2
,但不能这样做。我试过了:
- 第一次尝试:
array.select{|num|数 == 2? num = 'x' : num}
- 第二次尝试:
array.select{|num| num == 2}.replace(['x'])
我正在让这比现在更难。
最佳答案
我会使用:
array = [1,2,3,4,5,2,6,7,2,8,9,2,10]
array.map!{ |e| e == 2 ? 'x' : e }
array # => [1, "x", 3, 4, 5, "x", 6, 7, "x", 8, 9, "x", 10]
map!
更改 array
,但如果您不想更改数组本身:
foo = array.map{ |e| e == 2 ? 'x' : e }
array # => [1, 2, 3, 4, 5, 2, 6, 7, 2, 8, 9, 2, 10]
foo # => [1, "x", 3, 4, 5, "x", 6, 7, "x", 8, 9, "x", 10]
关于ruby - 数组上的替换方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26492361/