数组遍历的方法很多,map,forEach,等,这些方法都不能使用break中断循环,也不能使用return来返回到外层函数。如果需要跳出循环,使用for循环就可以。
需要跳出循环的场景:页面做多个数组的非空判断,做提示语。如果有一个出现非空,就提示具体那一个,而不是一口气把所有空数组都判断,然后全部提醒。
const arrBox = [
{name:'productData',msg:'产品至少需要一个!'},
{name:'generalSolutionList',msg:'通用方案至少需要一个!'},
{name:'industrySolutionList',msg:'行业方案至少需要一个!'},
{name:'aboutUsList',msg:'关于我们至少需要一个!'},
{name:'customerCaseList',msg:'客户案例至少需要一个!'},
{name:'legalInfoList',msg:'法律信息至少需要一个!'},
]
for (let key of arrBox){
if(this[key.name].length < 1){
this.$message.error(key.msg)
break
}
}
some(检测数组中是否有某些项符合条件,只要有一项符合了,马上return true,退出循环)跳出循环,需要写 “return true”,
every(检测数组中的每一项是否符合条件,只要不符合就返回false,退出循环)跳出循环,需要写“return true”
list.every((value, index) => {
if(value > 3){
console.log(value)
return false;
}else{
console.log(value)// 1
// return true;
// 如果没有返回值true 的话,也会跳出循环
}
})
当在JavaScript中需要跳出循环并进行条件判断时,不能依赖map或forEach。可以使用for循环配合return true来中断循环,例如在做多个数组非空判断时,一旦发现非空数组则立即提示并停止后续检查。
&spm=1001.2101.3001.5002&articleId=108488635&d=1&t=3&u=5ee446af9cf5442884bbcdaa7a9e9b63)
3307

被折叠的 条评论
为什么被折叠?



