JavaScript 教程 数组16—flat():递归地将数组展平到指定的深度

JavaScript 教程 数组16—flat():递归地将数组展平到指定的深度JavaScript Array flat 方法介绍 ES2019 引入了 Array prototype flat 方法 该方法创建一个新数组 其中子数组的所有元素递归连接到指定深度

大家好,欢迎来到IT知识分享网。

JavaScript Array flat() 方法介绍

ES2019 引入了 Array.prototype.flat() 方法,该方法创建一个新数组,其中子数组的所有元素递归连接到指定深度。

下面显示了 flat() 方法的语法:

let newArray = arrayObject.flat([depth])

depth 参数指定该方法使数组结构平坦的深度,它默认为 1。

下面的例子展示了如何扁平化一个数字数组:

const numbers = [1, 2, [3, 4, 5]]; const flatNumbers = numbers.flat(); console.log(flatNumbers);

输出:

[1, 2, 3, 4, 5]

在这个例子中,我们没有将深度参数传递给 flat() 方法,因此深度默认为 1。flat() 方法将嵌套数组 [3,4,5] 的所有元素连接到新数组的元素。

请注意, flat() 方法会创建一个新数组并且不会更改原始数组:

console.log(numbers);

输出:

[ 1, 2, [ 3, 4, 5 ] ]

以下示例将具有两级深度的数组展平:

const numbers = [1, 2, [3, 4, 5, [6, 7]]]; const flatNumbers = numbers.flat(2); console.log(flatNumbers);

输出:

[1, 2, 3, 4, 5, 6, 7]

当我们不知道深度级别时,可以将 Infinity 传递给 flat() 方法,以递归方式将子数组的所有元素连接到新数组中:

const numbers = [1, 2, [3, 4, 5, [6, 7, [8, 9]]]]; const flatNumbers = numbers.flat(Infinity); console.log(flatNumbers);

如果一个数组有空槽,我们可以使用 flat() 方法去除空洞,像这样:

const numbers = [1, 2, , 4, , 5]; const sequence = numbers.flat(); console.log(sequence);

输出:

[ 1, 2, 4, 5 ]

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/96922.html

(0)
上一篇 2026-03-11 11:33
下一篇 2026-03-03 16:46

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信