博客 / 詳情

返回

JS循環彙總

const arr = [1, 2, 3];

// for循環: 能夠使用break, continue, return控制循環; 通過下標間接訪問元素
for (let index = 0; index < arr.length; index++) {
    const element = arr[index];
    console.log(element);
}

// forEach: 不能使用break, continue控制循環(函數的本意就是要遍歷每個元素), 但是可以使用return效果相當於continue(不建議在該函數中使用)
arr.forEach((value, index) => {
    if (value == 2) {
        return false;
    }
    // console.log(value);
});

// for-in: 最好用於遍歷對象, 支持break和continue, return終止循環
for (const key in arr) {
    if (arr.hasOwnProperty(key)) {
        const element = arr[key];
        // if(element === 2){
            // break;
        // }
        console.log(element);
    }
}

// for-of: 專門為數組設計的遍歷方法,直接遍歷其屬性,支持break和continue, return終止循環
// 也可以遍歷具有Symbol.iterator接口的任何數據結構
for (const item of arr) {
    if(item === 2){
        continue;
    }
    // console.log(item);
}

const iterator = arr[Symbol.iterator]();
while(true){
    const next = iterator.next();
    if(next.done){
        break;
    }
    // console.log(next.value);
}

// every: 變相遍歷數組
arr.every((value, index) => {
    // console.log(index, value);
    return true; // 返回真值繼續下次循環等同於continue,返回假值結束循環等同於break
});
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.