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;
}
}
}
Бірақ бұл шешім дұрыс жұмыс істемейді.
Себебі циклде бірінші итерацияда бір return
не екіншісі орындалатын шарт жазылған,
сол арқылы циклден де, функциядан да шығады.
Кодты функциялардағы жасырын туларды қолданып, дұрыс түрде қайта жазайық:
function func(needle, num) {
for (let digit of num) {
if (digit === needle) {
return true;
}
}
return false;
}