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.

40 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
  7. I appreciate your efforts for posting this article.Discover the ultimate collection of fFree Android Apk Mod Download for all your favorite apps and games. Get unlimited resources, unlock exclusive features, and enjoy an enhanced gaming or app experience. https://www.apkroute.com/

    ReplyDelete
  8. Thanks for sharing such a wonderful and informative post python course fees in hyderabad We can explore and learn more about It professional courses online

    ReplyDelete
  9. thank you sharing valuable information
    Here is sharing Business Analytics with Excel Training Information may be helpful to you
    Business Analytics with Excel

    ReplyDelete
  10. "Thank you for taking the time to express your appreciation for my blog. Your support fuels my creativity and encourages me to explore new topics. I'm so grateful for readers like you who make this journey worthwhile!" For more information visit us on Clinical Research Courses in pune

    ReplyDelete
  11. This comment has been removed by the author.

    ReplyDelete

Search This Blog