什么是打破嵌套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;
}
答案 0 :(得分:1)
如果你想在第一场比赛中停下来,你应该使用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;