ფლაგის არარსებობის შეცდომა ფუნქციაში JavaScript-ში
დავუშვათ, გვსურს შევქმნათ ფუნქცია, რომელიც პარამეტრად მიიღებს ციფრს და რიცხვს, და შეამოწმებს, არის თუ არა მოცემული ციფრი რიცხვში:
function func(needle, num) {
// აქ იქნება კოდი
}
ასე გამოვიყენებთ ჩვენს ფუნქციას:
console.log(func('3', '12345')); // გამოიტანს true-ს
რაღაც პროგრამისტმა დაწერა ამ ამოცანის ამოხსნა:
function func(needle, num) {
for (let digit of num) {
if (digit === needle) {
return true;
} else {
return false;
}
}
}
თუმცა, ეს ამოხსნა მუშაობს არასწორად.
საქმე იმაშია, რომ ციკლში written პირობა,
რომელშიც პირველივე იტერაციაში
შესრულდება ან ერთი return,
ან მეორე, რითაც მოხდება
გამოსვლა და ციკლიდან, და ფუნქციიდან.
გადმოვწეროთ ჩვენი კოდი სწორი ფორმით, გამოყენებით იმპლიციტური ფლაგების ფუნქციებში:
function func(needle, num) {
for (let digit of num) {
if (digit === needle) {
return true;
}
}
return false;
}