温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

es6中some和every方法怎么使用

发布时间:2023-04-04 11:32:25 来源:亿速云 阅读:68 作者:iii 栏目:开发技术

这篇“es6中some和every方法怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“es6中some和every方法怎么使用”文章吧。

es6中的数组方法some()和every()都接收一个回调函数作为参数,该回调函数又接收三个参数,分别是数组元素、数组元素的索引、调用some或every方法的数组本身。它们的区别就是:

some方法用于判断数组中是否存在某个符合判断条件的元素,判断在回调函数的函数体内完成,并由回调函数返回一个布尔值。如果回调函数在某次返回了true,则整个some方法返回true,且结束遍历。

every方法用于判断数组中是否任意一个元素都符合判断条件,判断同样是在回调函数的函数体内完成,并由回调函数返回一个布尔值。如果回调函数在某次返回了false,则整个every方法返回false,且结束遍历。

注意:some和every方法都不会改变原来的数组。

1、some方法举例如下图所示:

图1

es6中some和every方法怎么使用

图2

es6中some和every方法怎么使用

分析图1可知,在每次执行回调函数时,回调函数返回的布尔值都为false,因此some方法不会提前退出遍历,因此会把数组中的每一个元素都遍历一次。从图2可知,在判断第一个元素是否符合条件时,回调函数就返回了true,则整个some方法返回true,直接停止了遍历,不再判断后面的元素。

2、every方法举例:

图3

es6中some和every方法怎么使用

图4

es6中some和every方法怎么使用

根据前面的描述:every方法会在回调函数返回false时直接中止遍历,因此得到图3和图4的执行结果。

3、回调函数没有(主动)返回

上面的4个例子都是在回调函数主动返回布尔值,即调用了return语句的情况下分析的。下面来看如果回调函数没有主动返回布尔值时的表现:

对于some方法:

图5

es6中some和every方法怎么使用

对于every方法:

图6

es6中some和every方法怎么使用

分析图5和图6,可以看到在回调函数没有主动返回布尔值的情况下,some方法没有提前停止元素遍历,而every方法在第一个元素后就停止遍历了;some方法提前停止遍历的条件是return true,every方法提前停止遍历的条件时return false;也就是说回调函数默认会返回false;

4、特殊情况

下面再来看关于回调函数的一种特殊情况:

对于some方法:

图7

es6中some和every方法怎么使用

对于every方法:

图8

es6中some和every方法怎么使用

分析图7和图8,在回调函数同样没有return语句的情况下,执行结果为什么与第3点描述的不一样?即为什么这里能返回正确的结果?实际上,这里和第3的区别在于回调函数虽然没有return语句,但同时也没有大括号{}包含函数体。这种情况下,实际上和 {return xxx}的效果是一样的,回调函数其实是有主动返回值的。

以上就是关于“es6中some和every方法怎么使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI