数组API的返回值

数组API的返回值

1、every、some的回调函数中,return结果必须设置为true吗?当不满足设置的条件时返回false?最终的返回结果也是true或false?

2、filter的回调函数里if判断的返回值必须是true吗?但是这个方法的最终返回值不同于every和some。不是true或false而是一个新数组?如果原数组的每一项都不满足条件就返回一个空数组?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,问题解答如下:

1、这里说的太绝对了

http://img1.sycdn.imooc.com//climg/5ee0bdb60977c9cf06690065.jpg

也可以直接return true或者false,不过对于方法来说没有意义

http://img1.sycdn.imooc.com//climg/5ee0bdf3098e682908010192.jpg

2、every和some方法的执行结果一定是布尔值,filter方法的执行结果一定是一个数组。这句没有问题。

祝学习愉快!

好帮手慕星星 2020-06-10 15:05:39

同学你好,问题解答如下:

1、我们使用这些方法的时候,return后面设置我们需要的条件就好。返回true或者false是根据设置的条件判断之后决定的,如果符合条件,返回true继续进行下一次判断,直到最后方法返回true。如果有一个不符合条件,返回false,最后方法返回false 。例如every方法

http://img1.sycdn.imooc.com//climg/5ee0832209c27b9c08290205.jpg

http://img1.sycdn.imooc.com//climg/5ee08330095540a602310024.jpg

第一组数组中5是小于10的,不满足条件,返回false,终止判断,所以最终的返回值为false ;第二组数组中都是满足的,所以最终返回值为true 。

2、filter方法也是一样的道理,设置我们想要的条件就好,参考

http://img1.sycdn.imooc.com//climg/5ee084cc09d64b6d06490114.jpg

当满足条件的时候返回true,继续执行回调函数,最终返回 true 或等价于 true 的值的元素创建一个新数组。也就是返回满足大于等于10条件的新数组

http://img1.sycdn.imooc.com//climg/5ee0852709d73ab101780032.jpg

课程中设置的如果要满足if判断,必须返回设置true

http://img1.sycdn.imooc.com//climg/5ee085e609af740c09240282.jpg

这样才会返回满足条件的新数组,原数组的每一项都不满足条件就返回一个空数组。

自己测试理解下,祝学习愉快!

  • 提问者 Aurora_Meteor #1
    这三个方法设置的时候,它们里面的回调函数,如果使用了if判断,那么return的都必须是布尔值或者一个条件表达式;如果直接使用return,那return的必须是一个表达式。 而every和some方法的执行结果一定是布尔值,filter方法的执行结果一定是一个数组。 这样说正确吗?
    2020-06-10 16:03:35
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师