js循环

一、传统控制类循环

名称 特点 是否可中断
for 最基本语法,带索引 可中断
while 只判断条件,适合不确定循环次数 可中断
do...while 至少执行一次 可中断
for...in 遍历对象的可枚举属(包括原型) 可中断
for...of 遍历可迭代对象的值 可中断

二、数组方法类循环

名称 特点 是否可中断
forEach 遍历所有元素 不可中断
map 遍历后生成新数组 不可中断
filter 筛选符合条件的元素 不可中断
reduce 累加器,把数组“收敛”为一个值 不可中断
some 遇到第一个符合条件的元素就返回true并停止循环 可中断
every 所有元素都符合条件才返回true 可中断
find 返回第一个符合条件的元素 可中断
findIndex 返回一个符合条件的索引 可中断
flatMao map + flat(1),生成扁平的新数组 不可中断

三、循环中断的方式

方式 说明
break 跳出整个循环
continue 仅跳过当前循环
return 退出整个函数,间接结束循环

四、for...of支持异步

async function test() {
  const arr = [1, 2, 3, 4];
  for (const val of arr) {
    if (val === 3) break;
    console.log(val);
    await new Promise(res => setTimeout(res, 500));
  }
}

五、内部循环暂停外部循环的方式

outer: for (let i = 0; i < 3; i++) {
  for (let j = 0; j < 3; j++) {
    if (j === 1) break outer; // 直接跳出外层循环
    console.log(i, j);
  }
}
posted @ 2025-04-07 19:52  下铺的大帅比  阅读(9)  评论(0)    收藏  举报