想要数据大于3的时候断出循环
let arr = [1, 2, 3, 4, 5];
不能跳出循环的方法
// 1.forEach():代替普通的for循环 执行结果全部可以打印
{
arr.forEach(function (val, index, arr) {
if (val > 3) {
console.log(val) // 4 5
return false; //没有返回值,ruturn false 仍向下执行
} else {
console.log(val)// 1 2 3
return true;
}
})
console.log(arr) //[1, 2, 3, 4, 5]
}
// 2. map():非常有用 数据交互的时候 有返回值
{
let res = arr.map(function (val, index, arr) {
if (val > 3) {
console.log(val) // 4 5
return false; //
} else {
console.log(val)// 1 2 3
return true;
}
})
console.log(res) // [true, true, true, false, false]
console.log(arr) //[1, 2, 3, 4, 5]
}
// 3.filter() 过滤一些不合格的数据 有返回值
{
let res = arr.filter(function (val, index, arr) {
if (val > 3) {
console.log(val) // 4 5
return false; //
} else {
console.log(val) // 1 2 3
return true;
}
})
console.log(res) // [1,2, 3]
console.log(arr) //[1, 2, 3, 4, 5]
}
可以跳出循环的方法
// 4. some 类似查找 只有某一个元素符合条件,返回true return true的时候跳出整个循环
{
let res = arr.some(function (val, index, arr) {
if (val > 3) {
return true; //当内部return true时跳出整个循环
}
console.log(val)// 1 2 3
})
console.log(res) //true
console.log(arr) //[1, 2, 3, 4, 5]
}
//every 当内部return false时跳出整个循环(return true;也是需要写) 数组里的所有元素都要符合条件才返回true
{
let res = arr.every(function (val, index, arr) {
if (val > 3) {
console.log(val)// 4
return false;
}
else {
console.log(val) // 1 2 3
return true;
}
})
console.log(res) //false
console.log(arr) //[1, 2, 3, 4, 5]
}
//for-of遍历 里面不能用return 报错
{
for (var value of arr) {
if (value > 3) {
console.log(value)// 4
break;
}
}
}
//for循环
{
for (let i = 0; i < arr.length; i++) {
if (arr[i] > 3) {
console.log(arr[i]) // 4
break;
}
}
}