中间其余事情没有写 崛起 今天看看在js循环数组的时候 break return continue
普通for循环数组
for(var i=0; i<3; i++) {
console.log(i) // 正常 012
}
for(var i=0; i<3; i++) {
if(i === 1) {
break
}
console.log(i) // 0 break 跳出循环
}
for(var i=0; i<3; i++) {
if(i === 1) {
continue
}
console.log(i) // 0 2 continue 跳出本次循环 进行下次循环
}
for(var i=0; i<3; i++) {
if(i === 1) {
return
}
console.log(i) // 报错
}
复制代码
for inbash
var arr = [1,2,3]
for(var i in arr) {
console.log(i) // 0 1 2 正常
}
for(var i in arr) {
if(i == 1) {
break
}
console.log(i) // 0 跳出本次循环执行循环体后面代码
}
for(var i in arr) {
if(i == 1) {
continue
}
console.log(i) // 0 2 结束本次循环执行下次循环
}
for(var i in arr) {
if(i == 1) {
return
}
console.log(i) // 报错
}
复制代码
for ofui
var arr = [1,2,3]
for(var i of arr) {
console.log(i) // 1 2 3 正常 for of i值value 不是下标值
}
for(var i of arr) {
if(i === 2) {
break
}
console.log(i) // 1 跳出循环 跟for 相似
}
for(var i of arr) {
if(i === 2) {
continue
}
console.log(i) // 1 3 结束本次循环 跟for 相似
}
for(var i of arr) {
if(i === 2) {
return
}
console.log(i) // 报错
}
复制代码
forEachspa
var arr = [1,2,3]
arr.forEach(function(value, index){
console.log(value) // 1 2 3 正常
})
arr.forEach(function(value, index){
if(index === 1) {
break
}
console.log(value) // 报错
})
arr.forEach(function(value, index){
if(index === 1) {
continue
}
console.log(value) // 报错
})
arr.forEach(function(value, index){
if(index === 1) {
return true
}
console.log(value) // 1 3
})
复制代码
map map 跟forEach 同样可是返回值是数组code
总结:it