JavaScript flat() 方法

Array 对象参考手册 JavaScript Array 对象

实例

按照一个可指定的深度递归遍历数组:

const arr1 = [0, 1, 2, [3, 4]]; document.getElementById("demo1").innerHTML = arr1.flat(); const arr2 = [0, 1, 2, [[[3, 4]]]]; document.getElementById("demo2").innerHTML = arr2.flat(2);

尝试一下 »

定义和用法

flat() 方法方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。

flat() 方法返回一个包含将数组与子数组中所有元素的新数组。


浏览器支持

表格中的数字表示支持该方法的第一个浏览器版本号。

方法
flat() 45.0 12.0 32.0 9 25.0

语法

flat()
flat(depth)

参数

参数 描述
depth 指定要提取嵌套数组的结构深度,默认值为 1。

技术细节

返回值: 数组。
JavaScript 版本: ECMAScript 6

更多实例

扁平化嵌套数组

实例

var arr1 = [1, 2, [3, 4]];
arr1.flat();
// [1, 2, 3, 4]

var arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat();
// [1, 2, 3, 4, [5, 6]]

var arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]

//使用 Infinity,可展开任意深度的嵌套数组
var arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];
arr4.flat(Infinity);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

扁平化与数组空项:flat() 方法会移除数组中的空项:

实例

var arr4 = [1, 2, , 4, 5];
arr4.flat();
// [1, 2, 4, 5]


Array 对象参考手册 JavaScript Array 对象