js多种循环方法(通过循环进行判断的相关方法)

for:正常循环(同步的循环)

break、continue终止循环

for (let index = 0; index < array.length; index++) {
			const element = array[index];
			
		}

forEach:正常循环(异步的循环)

通过try异常抛出终止循环,return可以跳过本次循环

//正常循环
array.forEach(element => {
			
		});
//异常抛出终止循环
try {
     arr.forEach(function (curItem, i) {
         if(curItem === 1) return;
         console.log(curItem)
         if (curItem === id) {
             throw Error();         //满足条件,跳出循环
         }
     })
 } catch (e) {
 }

every:循环有返回值

有返回值,一个条件不满足就返回false,并不继续循环


let flag=arr.every(item=>{

return item===1
})

some:循环有返回值

有返回值,一个条件满足就返回true,并不继续循环

let flag=arr.some(item=>{

return item===1
})

indexOf(正向查找)、lastIndexOf(反向查找):可以用于字符串和一维数组的判断

:反向查找

可以判断数组或字符串内是否包含某个值,返回值是下标,找到返回位置下标,没找到返回-1

let str='aaaaab'
let index = str.indexOf('b')
let index = str.lastIndexOf('b')

includes:可以用于字符串和一维数组的判断

可以判断数组或字符串内是否包含某个值,返回值是下标,找到true,没找到返回false

let str='aaaaab'
let index = str.includes('b')

filter:过滤(vue2可以使用,vue3弃用(应该是弃用))

将数组内满足条件的对象返回出去,返回出一个新的数组

let arr = 数组.filter((e) => e.name != '测试')

map:循环返回新数组

可以对遍历项操作,且返回新的数组,元素组不改变


let arr=arr.map(item=>{

return item=item+'_'
})

 while:正常循环

通过判断条件是否满足,执行是否继续循环

let i = 1;
 
 while (i <= 10) {
	 i++;
 }

do while:正常循环

先执行循环,再判断下次循环是否继续(如果一开始条件就不满足,他也会执行一次)

let i=1
do {
		i++	
		} while (i<=10);

reduce:累计计算与一维数组内容拼接

将一个一维数组拼到一块,可以计算相加值,也可以将数字全部拼接成字符串

let arr=[1,2,3,4]
//计算数组相加值
let data=arr.reduce((total,prev,index,arr) =>{

return total +prev;

});
//data返回值10

//将数组内容拼接成字符串
let data=arr.reduce((total,prev,index,arr) =>{

return total +prev;

},'');
//data返回值1234

for...in:循环出key值

不推荐遍历数组,一般用来遍历对象 毕竟key都给你输出了

let list = ['a', 12, 'c', 'd', 'e', 'a'];
for(let key inlist){

    console.log(list[key]);

}
//'a', 12, 'c', 'd', 'e', 'a'

find:获取数组符合条件的第一个值,如果没有找到返回undefined

let list = ['a', 12, 'c', 'd', 'e'];

const result = list.find((item,index) =>{return item === 'a'})

console.log(result) // a

findIndex:获取数组符合条件的第一个值得索引,如果没有找到就返回-1

let list = ['a', 12, 'c', 'd', 'e','a'];

const result= list.findIndex((item,index) =>{return item === 'a'})

console.log(result)//0

for...of:可以循环map与set结构

let list = ['a', 12, 'c', 'd', 'e', 'a'];

for(let s of list) {

console.log(s);

}

//'a', 12, 'c', 'd', 'e', 'a'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值