假设我们有数组x = ['a', 'b', 'c']
和y
. 有没有一种简单的方法可以将 , 的第二个元素移动x
到y
?所以最后,x
是['a', 'c']
和y
是['b']
。
问问题
5319 次
4 回答
9
此示例的特殊代码。它可能不适用于您的其他阵列。与其实际移动元素,不如将旧数组拆开并构造两个新数组。
x = ['a', 'b', 'c']
x, y = x.partition {|i| i != 'b'}
x # => ["a", "c"]
y # => ["b"]
该delete_at
方法可能更适合您的情况,但是,您知道,了解替代方法是件好事 :)
于 2012-11-13T10:43:42.877 回答
4
是的,它看起来像这样:
y.push x.delete_at(1)
delete_at
将从调用它的数组中删除具有给定索引的元素并返回该对象
于 2012-11-13T10:42:03.240 回答
4
于 2012-11-13T10:42:12.260 回答
2
x = ['a', 'b', 'c']
y = []
按索引删除:
y << x.delete_at(1)
按对象删除:
y << x.delete('b')
于 2012-11-13T10:42:46.753 回答