JavaScript array.flat()方法

JavaScript array.flat()方法

flat()方法是一个内置的数组方法,它将一个给定的数组展平成一个新创建的一维数组。它将给定的多维数组的所有元素连接起来,并平铺到指定的深度。我们可以指定展平数组的深度限制。默认情况下,深度限制为1。

语法

var newArr=arr.flat(<depth>);

参数

深度: 这是一个可选参数,用于指定数组扁平化的深度。默认情况下,其值为1。

返回值

它返回一个新创建的数组,其中包含所有子数组元素的连接。

JavaScript Array flat()方法示例

让我们看下面的示例来更好地理解。

示例1

flat()方法在二维数组上的简单示例。

<html>
<head> <h5> Array Methods </h5> </head>
<body>
<script>
var arr=['a','b',['c','d']]; //given 2D array
var newArr=arr.flat(); //using flat() method
document.write("After flattening the array:  "+newArr);
</script>
</body>
</html>

输出:

JavaScript array.flat()方法

示例2

使用flat()方法测试多维数组。

<html>
<head> <h5> Array Methods </h5> </head>
<body>
<script>
var arr=[90,18,[89,56],[13,20,[67,17]]]; //given multidimensional array
var newArr=arr.flat(); //using flat() method
document.write("After flattening the array:  "+newArr);
</script>
</body>
</html>

输出:

很明显,数组中的每个元素都被连接到新创建的一维数组中。

JavaScript array.flat()方法

示例3

让我们把一个数组扁平化到指定的深度。

<html>
<head> <h5> Array Methods </h5> </head>
<body>
<script>
var arr=[90,18,[13,20,[67,17,[56,45]]]]; //given multidimensional array
var newArr=arr.flat(3); //using flat() method with a specified depth value.
document.write("After flattening the array:  "+newArr);
</script>
</body>
</html>

输出结果:

JavaScript array.flat()方法

示例4

使用 depth 值为无穷大的 flat() 方法。

<html>
<head> <h5> Array Methods </h5> </head>
<body>
<script>
var arr=['Orange','Pineapple','Grapes',['Potato','Tomato','Carrot',['Guava','Litchi']]]; //given a multidimensional array.
var newArr=arr.flat(Infinity); //setting depth value as infinity.
document.write("After flattening the array,the new array comes out: <br> "+newArr);
</script>
</body>
</html>

输出:

JavaScript array.flat()方法

示例5

让我们展平一个中间有空洞的数组。

<html>
<head> <h5> Array Methods </h5> </head>
<body>
<script>
var arr=['John','Peter',,'Tomy',['Eni',,'Kerry']]; //given 2D array with holes in between.
var newArr=arr.flat(); //using flat() method.
document.write("After flattening the array, the holes vanishes. The new array comes out: <br> "+newArr);
</script>
</body>
</html>

输出:

JavaScript array.flat()方法

很明显,应用flat()方法后,所有的数组元素都被连接在一起,省略掉了空洞。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程