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]