将数组中的项移动到另一个数组

4
假设我们有数组x = ['a', 'b', 'c']y。是否有一种简单的方法将x的第二个元素移动到y中?以便最终x['a', 'c']y['b']
4个回答

9

这个例子需要一个特殊的代码,它可能不适用于其他数组。我们不直接移动元素,而是将旧数组拆开并构建两个新数组。

x = ['a', 'b', 'c']

x, y = x.partition {|i| i != 'b'}

x # => ["a", "c"]
y # => ["b"]
< p > < code > delete_at 方法可能更适合您的情况,但是了解其他选择也是很好的 :)


4

是的。对于特定的元素:

y = []
y << x.delete('b')

针对特定的索引:

y = []
y << x.delete_at(1)

这种东西已经有很好的文档了,顺便说一下。

4
是的,它看起来会像这样:

y.push x.delete_at(1)

delete_at 会从调用该方法的数组中删除给定索引处的元素并返回该对象。


2
x = ['a', 'b', 'c']
y = []

按索引删除:
y << x.delete_at(1)

按对象删除:
y << x.delete('b')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接