📅  最后修改于: 2023-12-03 15:11:36.926000             🧑  作者: Mango
在 Ruby 中,我们可以使用 flatten()
函数来将数组扁平化。扁平化数组指根据原数组中元素的嵌套深度来将所有元素展开到同一级别。简单来说,就是将原数组中所有元素归并到一个新的数组中。
array.flatten()
flatten()
无需传入任何参数。
arr1 = [1, 2, 3, [4, 5], 6, [7, [8, 9]]]
arr2 = [1, [2, [3, [4, [5]]]]]
arr3 = []
puts arr1.flatten()
# 输出:1 2 3 4 5 6 7 8 9
puts arr2.flatten()
# 输出:1 2 3 4 5
puts arr3.flatten()
# 输出:空数组[]
在 arr1
的例子中,原来的数组由两个嵌套层次构成,通过 flatten()
函数可以将数组展开为一个扁平化的数组。同理,对于 arr2
数组也可以将其中的元素扁平化。而对于一个空数组, flatten()
函数返回的也是一个空数组。
注意: flatten()
返回的是一个新的扁平化的数组,而原来的数组并没有被修改。
在处理多维数组时, flatten()
函数非常有用。我们有时需要将多维数组中的所有元素展开,以便于进行其他操作。
举个例子,我们需要将一个网页上的表单数据以数组的形式提交到后台。由于表单可能有多个输入框,我们需要将输入框的值扁平化为一个数组,以便于进行提交。