Array.prototype.flat()

简介: Array.prototype.flat()

MDN文档

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


语法:

var newArray = arr.flat([depth])


参数:

  • depth | 可选
    指定要提取嵌套数组的结构深度,默认值为 1 。如果传入 Infinity ,可展开任意深度的嵌套数组。


返回值:

一个包含将数组与子数组中所有元素的新数组


示例:

const arr1 = [1, 2, [3, 4]];
arr1.flat(); // [1, 2, 3, 4]
const arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat(); // [1, 2, 3, 4, [5, 6]]
const arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2); // [1, 2, 3, 4, 5, 6]
//使用 Infinity,可展开任意深度的嵌套数组
const arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];
arr4.flat(Infinity); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
// 扁平化与数组空项
const arr4 = [1, 2, , 4, 5];
arr4.flat(); // [1, 2, 4, 5]
目录
相关文章
|
1月前
Array.from() 与 Array.reduce()
Array.from() 与 Array.reduce()
13 1
|
5天前
实现array.slice()方法
实现array.slice()方法
|
10天前
|
存储 机器学习/深度学习 JavaScript
array
array
10 2
|
6月前
|
存储 测试技术 C++
map + function 实现替代if - else
代码更简洁:使用map + function可以将多个if-else语句转化为一行代码,使得代码看起来更加简洁易懂。 可读性更好:使用map + function可以将判断逻辑抽象成函数,让代码更具可读性和可维护性。
38 0
|
5月前
|
JavaScript 前端开发
slice()和splice()用法
slice()和splice()用法
20 0
|
9月前
|
JavaScript 前端开发
Array类型【call】
Array类型【call】
52 0
|
9月前
Array.prototype.concat
Array.prototype.concat
37 0
|
9月前
|
前端开发 索引
Array.prototype.at
Array.prototype.at
49 0
|
索引
Array.forEach()
Array.forEach()
61 0
|
索引
Array.prototype.flatMap()
Array.prototype.flatMap()
59 0