我们假设我们有数组x = ['a', 'b', 'c']
和y
。是否有一种简单的方法可以将x
的第二个元素移动到y
?最后,x
为['a', 'c']
,y
为['b']
。
答案 0 :(得分:9)
此示例的特殊代码。它可能不适用于您的其他阵列。我们不是实际移动元素,而是将旧数组拆开并构造两个新数组。
x = ['a', 'b', 'c']
x, y = x.partition {|i| i != 'b'}
x # => ["a", "c"]
y # => ["b"]
delete_at
方法对您的情况可能更好,但是,您知道,知道替代方案很好:)
答案 1 :(得分:4)
y.push x.delete_at(1)
delete_at
将从调用它的数组中删除具有给定索引的元素并返回该对象
答案 2 :(得分:4)
答案 3 :(得分:2)
x = ['a', 'b', 'c']
y = []
按索引删除:
y << x.delete_at(1)
按对象删除:
y << x.delete('b')