ინსტრუქცია continue JavaScript-ში
ასევე არსებობს ინსტრუქცია continue,
რომელიც იწყებს ციკლის ახალ იტერაციას. ეს
ინსტრუქცია ზოგჯერ შეიძლება სასარგებლო იყოს
კოდის გასამარტივებლად, თუმცა პრაქტიკულად ყოველთვის ამოცანის
გადაწყვეტა შესაძლებელია მის გარეშეც. მოდით შევხედოთ
პრაქტიკულ მაგალითს.
დავუშვათ, გვაქვს მასივი რიცხვებით. მოდით
გადავუყვეთ მას ციკლით და რიცხვები, რომლებიც იყოფა
2-ზე, ავიყვანოთ კვადრატში და გამოვიტანოთ
კონსოლში, ხოლო რიცხვები, რომლებიც იყოფა 3-ზე,
ავიყვანოთ კუბში და გამოვიტანოთ კონსოლში. აი აღწერილი
ამოცანის ამოხსნა:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
for (let elem of arr) {
let result;
if (elem % 2 === 0) {
result = elem * elem;
console.log(result);
} else if (elem % 3 === 0) {
result = elem * elem * elem;
console.log(result);
}
}
როგორც ხედავთ, ხაზი console.log(result)
მეორდება ორჯერ. მოდით გამოვიტანოთ იგი
if-ის გარეთ, აი ასე:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
for (let elem of arr) {
let result;
if (elem % 2 === 0) {
result = elem * elem;
} else if (elem % 3 === 0) {
result = elem * elem * elem;
}
console.log(result); // გამოტანა გამოვიტანეთ პირობის გარეთ
}
ახლა კი, ჩვენი სკრიპტი მუშაობს ოდნავ
სხვანაირად: გამოდის, რომ ჩვეულებრივი ელემენტებისთვისაც,
რომლებიც არ არის დამუშავებული ჩვენი if-ის მეშვეობით,
განხორციელდება result ცვლადის გამოტანა
კონსოლში, რაც ჩვენი ამოცანის პირობის მიხედვით
არ გვსურს.
მოდით გამოვასწოროთ პრობლემა, ჩვენს if-ს
დავუმატოთ კიდევ ერთი პირობა else, რომელიც იმუშავებს
იმ ელემენტებისთვის, რომლებიც არ იყოფა 2-ზე და
3-ზე, და გამოვიძახოთ იქ ინსტრუქცია continue,
რომელიც დაუყოვნებლივ გადაგვაგდებს
ციკლის ახალ იტერაციაზე:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
for (let elem of arr) {
let result;
if (elem % 2 == 0) {
result = elem * elem;
} else if (elem % 3 == 0) {
result = elem * elem * elem;
} else {
continue; // გადავალთ ციკლის ახალ იტერაციაზე
}
console.log(result); // შესრულდება, თუ იყოფა 2-ზე ან 3-ზე
}
დაწერეთ ციკლი, რომელიც გამოიტანს მხოლოდ
ლუწ რიცხვებს 1-დან 100-მდე,
გამოტოვებს კენტებს continue-ის საშუალებით.