JS020. Array.prototype.map()函数循环遍历跳出

Array.prototype.map()

 map( )  方法创建一个 新数组 *,其结果是该数组中的 每个元素 * 是调用一次提供的函数后的返回值。[ MDN / RUNOOB ]

执行机制

JS020. Array.prototype.map()函数循环遍历跳出

从  img-bottom-left  可以看出,新数组的每一次元素遍历都会执行一个新的函数周期

并且  map  的执行速度经大佬统计在大数据的情况下倍数劣于  for  循环

因此当我们遍历一个很大的数组,我们很可能就必须因此放弃这一函数

然而事实上,我们可以通过  try…catch…  来使用  throw  抛出一个自定义异常

以终止  map  的遍历周期,以将它再次加入我们的应用储备

跳出代码

let arr = [1, 2, 3……]

try {
    arr.map((item, index) => {
        if(item === 2) {
            throw 'Custom Exception.'
        } else {
            return 'pass'
        }
    })
} catch(e) {
    console.log(e)
}

执行结果

当循环到  arr[2]  时,满足  ' item === 3 '  的条件,通过  throw  定义自定义异常,再通过  try…catch…  将循环抛出,避免了接下来的内存消耗和不必要的性能浪费。

JS020. Array.prototype.map()函数循环遍历跳出

- END -

上一篇:2021-03-04 (异常)


下一篇:C#练习题答案: 工作配对#1【难度:0级】--景越C#经典编程题库,1000道C#基础练习题等你来挑战