Vivasoft-logo

8.6 forâ€Ļof, forâ€Ļin

āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŋ āĻ•āĻžāĻœ āĻŦāĻžāĻ°ā§‡āĻŦāĻžāĻ°ā§‡ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ āĻĒāĻ°ā§‡ āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤Â  āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ°Â  ā§§ā§Ļā§Ļ āĻŸāĻŋ āĻ¨āĻžāĻŽā§āĻŦāĻžāĻ°ā§‡āĻ° āĻ˛āĻŋāĻ¸ā§āĻŸ āĻ†āĻ›ā§‡āĨ¤Â  āĻāĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ  āĻ¨āĻŽā§āĻŦāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ ā§Ģ āĻ—ā§āĻ¨ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨āĻŽā§āĻŦāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻ°āĻž āĻāĻ• āĻ˛āĻžāĻ‡āĻ¨ āĻ•āĻ°ā§‡ āĻ•ā§‹āĻĄ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§Â  āĻ¯āĻĻāĻŋ āĻ¨āĻŽā§āĻŦāĻ°ā§‡ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ†āĻ°ā§‹ āĻ…āĻ¨ā§‡āĻ• āĻŦā§‡āĻļāĻŋ āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ•ā§‹āĻĄā§‡āĻ° āĻ˛āĻžāĻ‡āĻ¨ āĻ†āĻ°ā§‹ āĻŦā§‡āĻļāĻŋ āĻšāĻŦā§‡ āĻ¯āĻž āĻ•āĻ–āĻ¨āĻ‡ āĻ•ā§‹āĻ¨ā§‹ āĻ­āĻžāĻ˛ā§‹ āĻŦāĻŋāĻˇā§Ÿ āĻšāĻŦā§‡ āĻ¨āĻž āĨ¤ āĻāĻ‡ āĻāĻ•āĻ‡ line of code/code block āĻŦāĻžāĻ°ā§‡āĻŦāĻžāĻ°ā§‡Â  execute āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯Â  āĻ†āĻŽāĻ°āĻž āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĨ¤Â 

āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻĻā§āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšā§Ÿ : for āĻ˛ā§āĻĒ   āĻāĻŦāĻ‚ while āĻ˛ā§āĻĒ .

āĻŦā§‡āĻ¸āĻŋāĻ• for loop āĻāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻ†āĻ°ā§‹ āĻĻā§āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° for āĻ˛ā§āĻĒ āĻ°ā§Ÿā§‡āĻ›ā§‡: forâ€Ļin  āĻāĻŦāĻ‚ forâ€Ļof āĨ¤ āĻ†āĻœāĻ•ā§‡ āĻ†āĻŽāĻ°āĻž forâ€Ļin  āĻāĻŦāĻ‚ forâ€Ļof āĻ¨āĻŋā§Ÿā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻŦā§‹āĨ¤

forâ€Ļin:

forâ€Ļin āĻ˛ā§āĻĒ āĻ•ā§‹āĻ¨ā§‹ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻĒā§āĻ°ā§‹āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻœā§‡āĻ°Â  āĻ­āĻŋāĻ¤āĻ°ā§‡ iterate āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšā§Ÿ āĨ¤ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ā§‹ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° attribute/properties  āĻ¸āĻŽā§‚āĻšā§‡āĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻž āĻ•ā§‹āĻĄ āĻŦā§āĻ˛āĻ• āĻ°āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¤āĻžāĻšāĻ˛ā§‡ forâ€Ļin āĻ–ā§āĻŦāĻ‡ āĻ‰āĻĒāĻ•āĻžāĻ°ā§€āĨ¤ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋ, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻž āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ†āĻ›ā§‡ Employee āĻ¨āĻžāĻŽā§‡āĻ°āĨ¤Â  āĻ†āĻŽāĻ°āĻž āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ¸āĻŦāĻ—ā§āĻ˛ā§‹ attribute āĻāĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ value āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĨ¤ forâ€Ļin āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ˛ā§‡ āĻ•ā§‹āĻĄ āĻ¨āĻŋāĻšā§‡āĻ° āĻ…āĻ‚āĻļā§‡āĻ° āĻŽāĻ¤ā§‹ āĻšāĻŦā§‡:

 
 
 
const object = { a: 1, b: 2, c: 3 };
for (const property in object) {
console.log(`Property : ${property} — value: ${object[property]}`);
}
 
// Property : a — value: 1
// Property : b — value: 2
// Property : c — value: 3
 

āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ•ā§‹āĻ¨ā§‹ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° property/attribute āĻāĻ° āĻ‰āĻĒāĻ° iterate āĻ•āĻ°āĻŋ āĻ¤āĻ–āĻ¨ forâ€Ļin āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° item āĻāĻ° āĻ‰āĻĒāĻ° iterate āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ āĻĒāĻ°ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ forâ€Ļof āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ forâ€Ļof āĻ˛ā§āĻĒ String, Array, Set, Map āĻāĻŦāĻ‚ user-defined iterable āĻāĻ° āĻ‰āĻĒāĻ° iterate āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšā§ŸāĨ¤Â 

forâ€Ļof:

āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻž Array āĻ†āĻ›ā§‡ Employee Name āĻāĻ°āĨ¤ āĻ†āĻŽāĻ°āĻž Employee Name āĻ—ā§āĻ˛ā§‹ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ forâ€Ļof āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‹āĨ¤

 
 
 
const array1 = [‘a’, ‘b’, ‘c’];
 
for (const element of array1) {
console.log(element);
}
 
// expected output: “a”
// expected output: “b”
// expected output: “c”
 

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ Array āĻāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ index āĻ iterate āĻ•āĻ°ā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ letter āĻ—ā§āĻ˛ā§‹ āĻ†āĻ˛āĻžāĻĻāĻž āĻ†āĻ˛āĻžāĻĻāĻž āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ forâ€Ļof  for āĻ˛ā§āĻĒ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻŦā§‡āĻļāĻŋ āĻ¸āĻšāĻœāĻŦā§‹āĻĻā§āĻ§ ( readable ). āĻ¤āĻžāĻ‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŽā§āĻ­ā§°Â  forâ€Ļof āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

  • forâ€Ļof(),
    const iterable = ‘boo’;
    for (const value of iterable) {
    console.log(value);
    }
    // b
    // o
    // o
    const arr = [‘a’, ‘b’, ‘c’];
    for (const element of arr) {
    console.log(element);
    }
    // a
    // b
    // c
    const set = new Set([0, 1, 2]);
    for (const i of set) {
    console.log(i);
    }
    // 0
    // 1
    // 2
  • forâ€Ļin(),
    var obj = {a: 1, b: 2, c: 3};
    for (const prop in obj) {
    console.log(`obj.${prop} = ${obj[prop]}`);
    }
    // “obj.a = 1”
    // “obj.b = 2”
    // “obj.c = 3”
    const str = “exercise”;
    for (const i in str) {
    console.log(str[i]);
    }
    // e
    // x
    // e
    // r
    // c
    // i
    // s
    // e
  • āĻ•āĻ–āĻ¨ forâ€Ļof( ) āĻāĻŦāĻ‚ āĻ•āĻ–āĻ¨ forâ€Ļin( ) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤?
  • āĻ¨āĻŋāĻšā§‡āĻ° āĻ•ā§‹āĻĄā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻŋ āĻšāĻŦā§‡?
    (function (arguments) {
    for (const argument in arguments) {
    console.log(argument);
    }
    })({ a: 1, b: 2, c: 3 });
  • āĻ¨āĻŋāĻšā§‡āĻ° āĻ•ā§‹āĻĄā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻŋ āĻšāĻŦā§‡?
    const obj = { a: { x: 1 }, b: { y: 2 }, c: { z: 3 } };
    for (const prop in obj) {
    for(const innerProp in obj[prop]) {
    console.log(`prop.${innerProp} = ${obj[prop][innerProp]}`);
    }
    }
  • āĻ¨āĻŋāĻšā§‡āĻ° āĻ•ā§‹āĻĄā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻŋ āĻšāĻŦā§‡?
    (function () {
    for (const argument of arguments) {
    console.log(argument);
    }
    })(1, 2, 3);
  • āĻ¨āĻŋāĻšā§‡āĻ° āĻ•ā§‹āĻĄā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻŋ āĻšāĻŦā§‡?
    const arr = [“abc”, “xyz”];
    for (const element of arr) {
    for (const innerElement of element) {
    console.log(innerElement);
    }
    console.log(“”);
    }
  • āĻ¨āĻŋāĻšā§‡āĻ° āĻ•ā§‹āĻĄā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻŋ āĻšāĻŦā§‡?
    const map = new Map();
    map.set(‘name’, ‘sania’);
    map.set(‘job’, ‘swe’);
    for (let [key, value] of map) {
    console.log(key + ‘ – ‘ + value);
    }