大家好,欢迎来到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