簡體   English   中英

在for循環中突破if語句的正確方法

[英]Correct way to break out of if statement within for loop

打破嵌套的if語句/ for循環的正確方法是什么? 我嘗試了以下方法,但首選方法不起作用:

service.js-不工作,但是更好,因為一旦找到匹配項,它就會中斷

    getSelectedService: function(serviceId) {
        serviceId = parseInt(serviceId);
        for(i=0;i<servicesData.length;i++) {
            if(servicesData[i].id === serviceId) {
                var service = servicesData[i];
                return service;
            }
        }
    }

services.js-工作,但是效果不好,因為即使找到匹配項,它也會遍歷所有內容

getSelectedService: function(serviceId) {
    serviceId = parseInt(serviceId);
    servicesData.forEach(function(service) {
        if(service.id === serviceId) {
            var selectedService = service;                  
        }
    });
    return selectedService;
}

如果您想在第一個比賽中停下來,就應該使用while循環。

var keepGoing = true;
var i = 0;
var service;

while( keepGoing && i < servicesData.length ) {
    if( servicesData[i].id === serviceId ) {
        service = servicesData[i];
        keepGoing = false;
    } else {
        i++;
    }
}

return service;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM