Я работал над этим кодом, чтобы прочитать PDF-файл, найти ключевые слова и названия компаний и отобразить их. Все работает нормально, за исключением одной части, где оператор else if выводит одну строку (это то, что я хочу), но оператор else, который идет последним, который должен выводить циклы "Not Found" 20 раз, где я только хочу, чтобы он отображался вывод только один раз вместо 20 раз.
Я пробовал многочисленные способы, перебирая Интернет, чтобы изменить свой код, наиболее рекомендую, чтобы forEach не был подходящим способом делать что-то, и что я должен использовать вместо этого, но когда я делаю, я просто не могу получить это правильно.
l.forEach(function(element) {
var j = element['fullTextAnnotation']['text'];
var sd = 'SDN. BHD.';
var bd = 'BHD.';
var et = 'Enterprise';
var inc = 'Incorporated';
var regtoken = new natural.RegexpTokenizer({pattern:/\n/});
var f = regtoken.tokenize(jsondata);
for(o = 0 ; o < f.length; o++){
var arrayline1 = natural.LevenshteinDistance(sd,f[o],{search:true});
var arrayline2 = natural.LevenshteinDistance(bd,f[o],{search:true});
var arrayline3 = natural.LevenshteinDistance(et,f[o],{search:true});
var arrayline4 = natural.LevenshteinDistance(inc,f[o],{search:true});
var arrayline5 = natural.LevenshteinDistance(nf,f[o],{search:false});
var onedata1 = arrayline1['substring'];
var onedata2 = arrayline2['substring'];
var onedata3 = arrayline3['substring'];
var onedata4 = arrayline4['substring'];
var onedata5 = arrayline5['substring'];
if (onedata1 === sd)
{
tokends = f[o];
break;
} else if(onedata3 === et)
{
tokends = f[o];
break;
} else if(onedata2 === bd)
{
tokends = f[o];
console.log(tokends);
break;
} else if(onedata4 === inc)
{
tokends = f[o];
console.log(tokends);
break;
} else{
console.log("Not Found");
return false;
}
}
});
Я хочу получить только один вывод "Not Found" для оператора else, а не зацикливать его 20 раз. Надеюсь, я смогу понять эту проблему. Спасибо.