JavaScript - 数组 flat() 方法
JavaScript 中的 Array.flat() 方法用于通过将嵌套数组展平到指定深度来创建新数组。展平数组是指通过连接所有嵌套数组或子数组,将多维数组转换为一维数组。如果我们没有为此方法提供"depth"参数,它将默认深度值为"1"。
JavaScript Array.flat() 方法返回一个新的展平数组,而不是更改或修改原始数组。此方法还会删除数组中的空元素位置。
语法
以下是 JavaScript Array flat() 方法的语法 -
array.flat(depth);
参数
此方法仅接受一个参数。下文将对此进行描述 -
- depth(可选)指定原始数组中嵌套数组的展平深度。默认情况下,深度值为 1。
返回值
此方法返回一个新数组,其中包含所有子数组元素,并连接到指定的深度。
示例
示例 1
在下面的示例中,指定的动物数组包含一个子数组。我们没有将任何值作为深度参数传递给此函数。因此,它将动物数组中的子数组展平。
<html>
<body>
<p id="demo"></p>
<script>
const animals = [1, 2, 3, 4, [5, 6]];
const result = animals.flat();
document.getElementById("demo").innerHTML = result;
//Expected Output: Array [1, 2, 3, 4, 5, 6]
</script>
</body>
</html>
输出
如输出所示,数组已被扁平化。
1,2,3,4,5,6
示例 2
animals 数组中有三个子数组。首先,我们没有向 flat() 方法传递任何参数,因此执行此方法后将有两个子数组。其次,我们传递了 2 作为参数,因此执行此方法后将只有一个子数组。
<html>
<body>
<p id="demo"></p>
<script>
const animals = [1, 2, [3, [4, [5, 6]]]];
const result = animals.flat();
document.getElementById("demo1").innerHTML = result;
//Expected Output: Array [1, 2, 3, Array [4, Array [5, 6]]]
animals.flat(2);
document.getElementById("demo2").innerHTML = result;
//Expected Output: Array [1, 2, 3, 4, Array [5, 6]]]
</script>
</body>
</html>
示例 3
在这里,我们将 Infinity 作为参数传递给 flat() 方法。结果,它将 animals 数组中的所有子数组展平 -
<html>
<body>
<p id="demo"></p>
<script>
const animals = [1, 2, [3, [4, [5, 6]]]];
const result = animals.flat(Infinity);
document.getElementById("demo").innerHTML = result;
//Expected Output: Array [1, 2, 3, 4, 5, 6]
</script>
</body>
</html>
输出
执行程序后,animals 数组中的所有子数组均被展平。
1,2,3,4,5,6

