中止循环小记

64 阅读1分钟

for中止循环

const arr = [1, 2, 3, 4, 5];
for (let i = 0; i < 5; i++) {
    if (i > 3) {
        break// 成功终止循环  
    }
    console.log(i); // 0 1 2 3  
}

forEach异常中止循环

try {
    arr.forEach((num, index) => {
        if (num > 3) {
            throw new Error('超过3'); // 抛出异常,终止循环  
        }
        console.log(num); // 1 2 3  
    });
} catch (error) {
    console.log(error.message); // 超过3
}

for...in中止循环

const obj = {
    a: 1,
    b: 2,
    c: 3,
    d: 4,
    e: 5
};

for (const key in obj) {
    if (key > 'c') {
        break// 成功终止循环
    }
    console.log(obj[key]); // 1 2 3
}

for...of中止循环

for (const number of arr) {
    if (number > 3) {
        break// 成功终止循环
    }
    console.log(number); // 1 2 3
}

for...of异常中止循环

try {
    for (const num of arr) {
        if (num > 3) {
            throw new Error('超过3'); // 抛出异常,终止循环
        }
        console.log(num); // 1 2 3
    }
} catch (error) {
    console.log(error.message); // 超过3
}

for...of异步中止循环

const loop = async () => {
        for (const num of arr) {
            if (num > 3) {
                return// 成功终止异步循环
            }
            console.log(num); // 1 2 3
        }
    }

    loop();

while循环中止循环

let i = 0;
while (i < 5) {
    if (i > 3) {
        break// 成功终止循环
    }
    console.log(i); // 0 1 2 3
    i++;
}

do...while循环中止循环

i = 0;
do {
    if (i > 3) {
        break; // 成功终止循环
    }
    console.log(i); // 0 1 2 3
    i++;
} while (i < 5);

递归中止循环

function countDown(n) {
    if (n <= 3) {
        return; // 成功终止递归
    }
    console.log(n); // 5 4
    countDown(n - 1);
}

countDown(5);