html如何退出each,js中for/for in/each/for each循环数组或对象跳出终止

在js里经常用的循环,比如循环数组或对象,但经常会遇到在循环中如何跳出本次循环或要终止循环。下面给大家总结下常用的循环for/for in/each/for each/some()/every().

1.for循环中,break可跳出循环。continue跳过本次循环,执行下一次循环 。

let arr1 = [1, 3, 5, 7, 9]

for (let i = 0; i 

if (i === 1) {

break // 跳出循环

}

console.log(arr1[i]) // 1

}

for (let i = 0; i 

if (i === 2) {

continue // 跳过本次循环,继续下一个循环

}

console.log(arr1[i]) // 1 5 7 9

}

同理:for in循环一个对象时也是适合break和continue

let obj = {

name: 'Anny',

age: 14,

address: '宁波市'

}

for (let key in obj) {

if (key === 'age') {

break // 当key等于age时就会跳出整个循环

}

console.log(key) // name

}

console.warn('-------')

for (let key in obj) {

if (key === 'age') {

continue // 当key等于age时,就会跳过此次循环,进入下一次循环

}

console.log(key) // name address

}

forEach可以循环数组或对象,但正常下不能终止循环,除非加上try catch

/**

* return在forEach中可以用来跳过本次循环

*/

let arr1 = [1, 3, 5, 7, 9]

arr1.forEach((v, i) => {

if (i === 2) {

return  // i = 2时,跳过本次循环,进入下一个

}

console.log(v) // 1 3 7 9

})

//如果需要终止forEach,

try {

// 执行到第3次,结束循环

arr1.forEach(function(item,index){

if (item == 3) {

throw new Error("End");

}

console.log(item); // 1,3

});

} catch(e) {

if(e.message!="End") throw e;

}

js中every()和some()的用法

every()与some()方法都是JS中数组的迭代方法。every()和some()都会对数组中的每一项运行给定函数,对every()来说,如果该函数对每一项返回true,则返回true;而some()的话,对任一项返回true,则返回true。

var arr = [ 1, 2, 3, 4, 5, 6 ];

console.log("test every() with &&");

console.log( arr.every( function( item, index, array ){

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

return item > 3;

}));

console.log('\ntest some() with ||');

console.log( arr.some( function( item, index, array ){

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

return item > 3;

}));

结果如下

test every() with &&

item=1,index=0,array=1,2,3,4,5,6

false

test some() with ||

item=1,index=0,array=1,2,3,4,5,6

item=2,index=1,array=1,2,3,4,5,6

item=3,index=2,array=1,2,3,4,5,6

item=4,index=3,array=1,2,3,4,5,6

true

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值