মূল কন্টেন্টে যান
মডিউল 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লোড হচ্ছে...

'কনক্যাট(শব্দ)' সংজ্ঞায়িত করুন যা, স্ট্রিংগুলির একটি তালিকা দেওয়া হলে, একটি স্ট্রিং প্রদান করে এবং একটি স্পেস দিয়ে আলাদা করে সবগুলি সংযুক্ত করে। এর জন্য ব্যবহার করুন।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

একটি স্ট্রিং মধ্যে জমা; স্থান যোগ করুন শুধুমাত্র যদি এটি প্রথম শব্দ না হয়।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ

ব্যায়াম পর্যালোচনা করুন

ব্যায়াম#js.m5.l2.e2
প্রচেষ্টা: 0লোড হচ্ছে...

`পজিটিভ ভ্যালুস(অবজে)` সংজ্ঞায়িত করুন যা বস্তুর মানগুলির সাথে একটি অ্যারে প্রদান করে যা সংখ্যা > 0।…in এর জন্য ব্যবহার করুন। ক্রমটি অবশ্যই কীগুলির পুনরাবৃত্তি ক্রমের সাথে মেলে।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

কীগুলির উপরে...এর সাথে লুপ করুন, typeof এবং > 0 দিয়ে ফিল্টার করুন, ফলাফলগুলিতে পুশ করুন।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ