小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
前言
发现JS中的循环有好多,如果让一下说出来,感觉有些会想不起来,本次花时间来梳理一下JS中循环语句。
本系列相关文章:
- 【循环系列】for循环和while循环
- 【循环系列】for in和forEach循环
- 【循环系列】之map循环
- 【循环系列】filter和some循环
- 【循环系列】every循环
- 【循环系列】reduce循环
- 【循环系列】reduceRight循环
- 【循环系列】for of和find以及findIndex
- 【循环系列】includes和keys、values、entries
本文是本系列第
10篇,关于flat和flatMap
flat(num/Infinity)
flat用于“拍平”多维数组。该方法返回一个新数组,对原数据没有影响。参数表示嵌套层数,例如以下代码:
let arr = [1,2,3,[4,5,[6,7]]]
let res = arr.flat(Infinity)
console.log(res)//[1,2,3,4,5,6,7]
如上代码,最终将res的结果相当于是arr多维数组拍平的结果
flatMap()
flatMap接受一个函数作为参数,返回一个新的数组,其中每个元素都是回调函数的结果,并且结构深度 depth 值为1。例如一下代码:
var arr1 = [1, 2, 3, 4];
console.log(arr1.flatMap(x => [x * 2]));
// [2, 4, 6, 8]
console.log(arr1.flatMap(x => [[x * 2]]));
// [[2], [4], [6], [8]]
结束
以上就是flat和flatMap循环的相关内容