本文主要是介绍数组高级技法之flatMap,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们知道数组的filter方法和map方法是会产生中间数组的,这在开发中往往会增加代码量。接下来我举一个例子
const numArr = [1,2,3,4,5,6,7,8,9,10]const res = numArr.filter(item => item % 2 !== 0).map(item => item * item)console.log(res) // [1,9,25,49,81]
如上图所示,filter和map 所花费的时间是4.209 ms
然后我们换上我们的flatMap方法
console.time('filterAndMap');const numArr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];// const res = numArr.filter((item) => item % 2 !== 0).map((item) => item * item);
const res = numArr.flatMap((item) => (item % 2 !== 0 ? [item * item] : []));console.log(res); // [1,9,25,49,81]console.timeEnd('filterAndMap');
下面是执行结果,很明显,flatMap所花费的时间远小于上面的4.209 ms
这篇关于数组高级技法之flatMap的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!