ES6函数some和every与其他传统迭代函数的区别?优点

var arr = [ 7,8, 2, 3, 4, 5, 6 ,9];

let everyRes = arr.every( function( item, index, array ){

  console.log( 'item=' + item + ',index='+index+',array='+array );

  return item > 3;

});

console.log(everyRes);

let someRes = arr.some( function( item, index, array ){

  console.log( 'item=' + item + ',index='+index+',array='+array );

  return item > 3;

});

console.log(someRes);
//every函数
item=7,index=0,array=7,8,2,3,4,5,6,9
router.js:50 item=8,index=1,array=7,8,2,3,4,5,6,9
router.js:50 item=2,index=2,array=7,8,2,3,4,5,6,9
router.js:55 false
//some函数
router.js:58 item=7,index=0,array=7,8,2,3,4,5,6,9
router.js:63 true
//some和every的区别
//some函数只要有一项符合条件就不在迭代下去
//every函数会找到符合条件的所有项,直到不符合的的才会停止迭代


//传统的迭代器
var forRes=null;
 for(var i=0;i<arr.length;i++){
  console.log("迭代次数"+i)
  if(arr[i]>3){
     forRes=true
    //break
  }else {
    forRes=false
    //break
  }
}
 console.log(forRes)
true
//router.js:66 迭代次数0
//router.js:66 迭代次数1
//router.js:66 迭代次数2
//router.js:66 迭代次数3
//router.js:66 迭代次数4
//router.js:66 迭代次数5
//router.js:66 迭代次数6
//router.js:66 迭代次数7
//router.js:66 迭代次数8
//router.js:66 迭代次数9
//router.js:75 false
//可以使用break语句去终端执行外面的嵌套一层函数才能作为返回值,而es6提供的高阶函数提供了便捷
//es6提供了更高效的编程函数,应该养成使用的习惯

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值