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'