自学内容网 自学内容网

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'


原文地址:https://blog.csdn.net/zero_er/article/details/145161585

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!