Tech Junkie Blog - Real World Tutorials, Happy Coding!: JavaScript Objects Deep Dive: Enumerating Through Object Properties with for/in Loop

Monday, May 2, 2022

JavaScript Objects Deep Dive: Enumerating Through Object Properties with for/in Loop

Instead of testing to see if a property exists in the object you could just use the for/in loop to iterate through all the enumerable properties in the object.  Enumerable properties are the properties that owned by the object.  In JavaScript there are always two objects that are created with each object, one hidden object that's always there is the prototype object.  It's like the blueprint for the object you just created.  The owned properties are the properties that explicitly created with your object. The prototype properties are what's called inherited properties. So if we use the for/in loop we  will get the owned properties and the prototype properties.

So to use the for/in loop to iterate through the object let's use our product object again.


        var product = new Object();

        product.name = "Chai";
        product.category = "Tea";
        product.country = "India";
        product.supplier = {
            name: "ACME Tea Of India",
            location: "New Delhi"
        };

Now type in the following to loop through the object with the for/in loop and outputs the property name and property value to the console



for (prop in product)
console.log(prop + ": " + product[prop]);












As you can see we only got through the first level of the properties, since supplier is nested object how do we get the properties for it?  You would think it's as easy as changing the code to have nested for/in loop would do the trick.


Like this

for(prop in product)
{
    console.log(prop + ": " + product[prop]);

    for(p in prop)
        console.log(p + ": " + prop[p]);
}


But as you can see that's not the case, instead you get the characters of the property names.  As you can see the supplier property is actually an object itself.

6 comments:

  1. Thank you so much for sharing this thread with us, It's a good post..keep posting and updating the more information like this. By the way, I am a professional javascript academic writer and provide Assignment help services to the students in Australia.

    ReplyDelete

  2. This is a nice article for sharing great information. Thank you for providing such a wonderful and educative update. I would appreciate it if you could keep sharing.- what is skyline university cut off mark

    ReplyDelete
  3. pgslot มาแรง ไม่แพ้ ลิเวอร์พูล เพราะเว็บของเรานั้นก็กำลัง ขับเคลื่อนเปรียบเสมือนเครื่องจักรที่กำลังมาแรงที่สุดเพราะเว็บ pg-slot.game ของเรานั้นกำลังนำเสนอเกมให้ทุกท่านที่เข้ามาได้รู้จัก

    ReplyDelete
  4. Thanks for sharing informative post. Digital Marketing Institute in Jammu where you can explore many thing about digital marketing.

    ReplyDelete
  5. สล็อต ไม่มี ขั้น ต่ำ แน่ๆว่าจุดเด่นของกิจกรรมนี้เป็นพวกเราไม่ต้องฝากเงินก่อน PG SLOT แม้กระนั้นก็ยังมีเครดิตสูงซึ่งพอเพียงต่อการพนันได้ทุกชนิด แล้วทางเว็บ สล็อต เติมวอเลท

    ReplyDelete
  6. slot games สมาชิกใหม่ ต้นแบบ การพนันสามมิติที่ช่วยเปิดมิติใหม่ของการเล่นสล็อต แกล้งมีประสบการณ์การเล่นสล็อตที่ละเอียด ล้ำยุค พร้อมเอฟเฟกต์เสียงสุดตื่นเต้นแล้วก็แอนิเมชั่น PGSLOT

    ReplyDelete

Search This Blog