最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js中斷 forEach 循環(huán)的方法匯總

 更新時(shí)間:2023年10月10日 11:09:55   作者:憂郁的蛋~  
這篇文章主要介紹了js中斷 forEach 循環(huán)的幾種方法,主要方法還是通過(guò)其它方式代替 forEach 循環(huán)的中斷,只有方法4 使用 try-catch 結(jié)構(gòu)是實(shí)際意義上中斷 forEach 循環(huán),需要的朋友可以參考下

1、使用 Array.prototype.some() 方法代替

some() 方法會(huì)在找到第一個(gè)符合條件的元素時(shí)停止循環(huán)。

例如:

let array = [1, 2, 3, 4, 5];
array.some(function(element, index, array) {
    if (element === 3) {
        console.log("Found 3 at index " + index);
        return true;
    }
});

上述代碼會(huì)在找到第一個(gè)符合條件的元素(即 3)時(shí)停止循環(huán)。

2、使用 Array.prototype.every() 方法代替

let array = [1, 2, 3, 4, 5];
let stop = array.every(function(element) {
    console.log(element);
    if (element === 3) {
        console.log("Found 3 at index ");
        return false;
    }
    return true;
});

上述代碼會(huì)在找到第一個(gè)符合條件的元素(即 3)時(shí)停止循環(huán)。

請(qǐng)注意,該方法找到的元素不會(huì)返回,需要在回調(diào)中自己處理。

3、使用 for循環(huán)代替

let array = [1, 2, 3, 4, 5];
for(let i = 0; i < array.length; i++) {
    if (array[i] === 3) {
        console.log("Found 3 at index " + i);
        break;
    }
}

上述代碼也會(huì)在找到第一個(gè)符合條件的元素(即 3)時(shí)停止循環(huán)。

4、使用 try-catch 結(jié)構(gòu)

可以在 forEach 循環(huán)內(nèi)部使用 throw 語(yǔ)句來(lái)中斷循環(huán),并在外部使用 catch 語(yǔ)句來(lái)捕獲該異常。

例如:

let array = [1, 2, 3, 4, 5];
try {
    array.forEach(function(element, index, array) {
        if (element === 3) {
            console.log("Found 3 at index " + index);
            throw "StopIteration";
        }
    });
} catch (e) {
    if (e !== "StopIteration") throw e;
}

上述代碼會(huì)在找到第一個(gè)符合條件的元素(即 3)時(shí)停止循環(huán)。

請(qǐng)注意,使用 throw 語(yǔ)句中斷 forEach 循環(huán)可能會(huì)使代碼變得更加復(fù)雜,并且容易出現(xiàn)錯(cuò)誤。因此,如果可能的話,應(yīng)該使用前面提到的 Array.prototype.some() 或 for 循環(huán)來(lái)代替。

5、使用自定義的迭代器函數(shù)

let array = [1, 2, 3, 4, 5];
function forEach(array, callback) {
    for (let i = 0; i < array.length; i++) {
        callback(array[i], i, array);
        if (array[i] === 3) {
            console.log("Found 3 at index " + i);
            break;
        }
    }
}
forEach(array, function(element, index, array) {
    console.log(element);
});

上述代碼會(huì)在找到第一個(gè)符合條件的元素(即 3)時(shí)停止循環(huán)。

這種方法雖然不夠簡(jiǎn)潔,但是它可以在不改變?cè)瓉?lái)的forEach函數(shù)的情況下,增加新的功能。

6、使用 Array.prototype.find() 或 Array.prototype.findIndex() 方法代替

find() 方法會(huì)在找到符合條件的第一個(gè)元素后返回該元素,并停止循環(huán)。

例如:

let array = [1, 2, 3, 4, 5];
let found = array.find(function(element) {
    return element === 3;
});
console.log(found);

上述代碼會(huì)在找到第一個(gè)符合條件的元素(即 3)時(shí)停止循環(huán)并返回該元素。

Array.prototype.findIndex() 方法會(huì)在找到符合條件的第一個(gè)元素后返回該元素的索引,并停止循環(huán)。

例如:

let array = [1, 2, 3, 4, 5];
let index = array.findIndex(function(element) {
    return element === 3;
});
console.log(index);

上述代碼會(huì)在找到第一個(gè)符合條件的元素(即 3)時(shí)停止循環(huán)并返回該元素的索引。

使用 Array.prototype.find() 或 Array.prototype.findIndex() 方法可以在 forEach 循環(huán)中找到符合條件的第一個(gè)元素并停止循環(huán)。這兩種方法是在找到符合條件的元素后返回該元素或索引,而不是像 some() 方法或 for 循環(huán)中需要再次返回一個(gè)布爾值或使用 throw 語(yǔ)句來(lái)中斷循環(huán)。

總之,主要方法還是通過(guò)其它方式代替 forEach 循環(huán)的中斷,只有方法4 使用 try-catch 結(jié)構(gòu)是實(shí)際意義上中斷 forEach 循環(huán)。

到此這篇關(guān)于js中斷 forEach 循環(huán)的幾種方法的文章就介紹到這了,更多相關(guān)js中斷 forEach 循環(huán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

丹棱县| 奈曼旗| 昆山市| 芮城县| 奉新县| 安康市| 临城县| 蒙城县| 保德县| 乌拉特中旗| 康乐县| 息烽县| 大方县| 丰都县| 临澧县| 磴口县| 石河子市| 马关县| 贞丰县| 黄梅县| 怀远县| 青神县| 安图县| 崇信县| 长丰县| 额济纳旗| 易门县| 呼玛县| 犍为县| 紫云| 樟树市| 万山特区| 卢湾区| 胶南市| 昭通市| 富蕴县| 霸州市| 德阳市| 阿克陶县| 黎川县| 海阳市|