मुख्य सामग्री पर जाएं
मॉड्यूल 5 · पाठ 1 का 4पाठ्यक्रम में 17/32~10 min
मॉड्यूल पाठ (1/4)

लूप्स: के लिए और जबकि

लूप्स आपको कोड का एक ब्लॉक दोहराने देता है। जावास्क्रिप्ट के तीन क्लासिक रूप हैं: for, while, do…while. जब आप पुनरावृत्तियों की संख्या जानते हों (या गणना कर सकते हों) तो पहले का उपयोग करें, दूसरे का दो जब आपको बस बाहर निकलने की स्थिति की आवश्यकता होती है।

क्लासिक for

; द्वारा अलग किए गए तीन भाग: आरंभीकरण, निरंतरता की स्थिति, चरण।

JS
for (let i = 0; i < 4; i++) {
  console.log(i); // 0, 1, 2, 3
}

जबकि शैली में समतुल्य:

JS
let i = 0;
while (i < 4) {
  console.log(i);
  i++;
}

while

प्रत्येक पुनरावृत्ति से पहले स्थिति की जाँच करता है।

JS
let n = 10;
while (n > 0) {
  n = Math.floor(n / 2);
}
n; // 0

यदि शर्त पहले दौर में ही गलत है, तो बॉडी को कभी भी निष्पादित नहीं किया जाता है।

do…while

बाद की स्थिति की जाँच करता है: बॉडी को हमेशा कम से कम एक बार निष्पादित किया जाता है।

JS
let tentativi = 0;
do {
  tentativi++;
} while (Math.random() < 0.0001); // pratica: provare almeno una volta

tentativi; // >= 1

इसे अजमाएं

व्यायाम#js.m5.l1.e1
प्रयास: 0लोड हो रहा है...

एक फ़ंक्शन `sumUpTo(n)` को परिभाषित करें जो योग 1+2+...+n (सकारात्मक पूर्णांक) लौटाता है। के लिए एक क्लासिक का प्रयोग करें.

संपादक लोड हो रहा है...
संकेत दिखाएँ

कुल 0 से शुरू करें, फिर 1 से n तक लूप i करें।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम की समीक्षा करें

व्यायाम#js.m5.l1.e2
प्रयास: 0लोड हो रहा है...

`halveUntilOne(n)` को परिभाषित करें, जो एक सकारात्मक पूर्णांक दिया गया है, यह बताता है कि 1 या उससे कम तक पहुंचने से पहले आपको कितनी बार n को 2 से विभाजित करने की आवश्यकता है (गणित.फ्लोर के साथ)। थोड़ी देर प्रयोग करें.

संपादक लोड हो रहा है...
संकेत दिखाएँ

एक काउंटर रखें और n को 2 से विभाजित करें जबकि n > 1.

3 प्रयासों के बाद समाधान उपलब्ध है