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

के लिए...के लिए और के लिए...में

जावास्क्रिप्ट में दो "एर्गोनोमिक" लूप हैं जिनसे भ्रमित नहीं होना चाहिए:

  • for…of पुनरावृत्तीय संग्रह (सरणी, स्ट्रिंग, सेट, मानचित्र...) के मानों को पुनरावृत्त करता है।
  • for…in किसी ऑब्जेक्ट की असंख्य कुंजियों को पुनरावृत्त करता है।

वे घनिष्ठ चचेरे भाई-बहन हैं और आसानी से अदला-बदली कर लेते हैं - गलत भाषा का प्रयोग भाषा की पहली भाषा में से एक है जाल.

सरणियों और स्ट्रिंग्स के लिए for…of

JS
const colori = ['rosso', 'verde', 'blu'];
for (const c of colori) {
  console.log(c); // 'rosso', 'verde', 'blu'
}

for (const ch of 'abc') {
  console.log(ch); // 'a', 'b', 'c'
}

यह आपको अनुक्रमणिका नहीं देता. यदि आपको भी सूचकांक की आवश्यकता है, तो entries() का उपयोग करें:

JS
for (const [i, c] of colori.entries()) {
  console.log(i, c); // 0 rosso, 1 verde, 2 blu
}

वस्तुओं के लिए for…in

JS
const utente = { nome: 'Anna', eta: 30, citta: 'Roma' };
for (const chiave in utente) {
  console.log(chiave, utente[chiave]); // 'nome' 'Anna', ...
}

जब उन्हें भ्रमित नहीं करना है

JS
const colori = ['rosso', 'verde', 'blu'];

// SBAGLIATO: stampa gli indici come stringhe!
for (const x in colori) {
  console.log(x); // '0', '1', '2'
}

// GIUSTO
for (const x of colori) {
  console.log(x); // 'rosso', 'verde', 'blu'
}

इसे अजमाएं

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

`concat(words)` को परिभाषित करें, जो स्ट्रिंग्स की एक सूची दी गई है, उन सभी को एक स्थान से अलग करके, एक स्ट्रिंग लौटाता है। ...के लिए उपयोग करें।

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

एक स्ट्रिंग में जमा करें; रिक्त स्थान तभी जोड़ें जब यह पहला शब्द न हो।

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

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

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

`positiveValues(obj)` को परिभाषित करें जो ऑब्जेक्ट के मानों के साथ एक सरणी लौटाता है जो संख्याएं> 0 हैं। के लिए उपयोग करें। आदेश को कुंजियों के पुनरावृत्ति क्रम से मेल खाना चाहिए।

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

कुंजियों के ऊपर for...in के साथ लूप करें, typeof और > 0 के साथ फ़िल्टर करें, परिणामों में पुश करें।

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