如果我有以下arr = [13,12,31,31]
现在说我想推送另一组数字,例如12,13,54,32
所以我可以arr << [12,13,54,32]
,但现在我有[13,12,31,31,[12,13,54,32]]
那么如何删除外部阵列? arr = arr.pop
有时,但我猜测存在更好的方法。请指教。
答案 0 :(得分:7)
请勿使用<<
,请使用+
arr = [13,12,31,31]
arr += [12,13,54,32]
# arr => [13,12,31,31,12,13,54,32]
答案 1 :(得分:5)
您应该使用Array#flatten
[[13,12,31,31,12,13,54,32]].flatten # => [13, 12, 31, 31, 12, 13, 54, 32]
答案 2 :(得分:2)
你有几个选择。您可以使用+
运算符加入数组,而不必处理外部数组。如果你有一个外部数组并想要展平它,只需在数组上调用flatten
即可。正如上面评论中提到的matt,您也可以使用concat
。
# Creates a new array
[13,12,31,31] + [12,13,54,32]
=> [13, 12, 31, 31, 12, 13, 54, 32]
# Creates a new array, unless you use flatten!
[13, 12, 31, 31, [12, 13, 54, 32]].flatten
=> [13, 12, 31, 31, 12, 13, 54, 32]
# Modifies the original array
[13,12,31,31].concat([12,13,54,32])
=> [13, 12, 31, 31, 12, 13, 54, 32]