循环函数return可以缺省

        var arr = [11,22,33,44]
        //var ob = arr.some(item=>{return item>25})//正确
        var ob = arr.some(item=>{
    
    item>25})//也正确
        //检查数组是否有大于25的数
        console.log(ob)//true

经过测试,加不加return都能正常运行,使用箭头函数时,这类循环函数的return可以省略
最近在学习es6写法的时候,发现教程使用类似findIndex等有返回值的循环函数时没有给条件语句加return
注意,map()返回的是一个元素,并不是简单的索引值或boolean,必须返回元素,return后不能跟判断表达式,且map后的数组和原数组长度一样,判断筛选后,没有通过筛选的位置会返回undefined

            var b=[1,2,3].map(item=>item>1?item:'')
            var c=[1,2,3].map(item=>item>1)
            console.log(b)//['',2,3]
            console.log(c)//[false,true,true],可以看出返回了判断的结果
            var arr=[1,2,3]
            var b=arr.map(i=>{
    
    if(i>1)return i})
            console.log(b)//[undefined,2,3]

猜你喜欢

转载自blog.csdn.net/weixin_43939111/article/details/110952054