Object Iterations
عنی روشهایی که میتونیم روی یک Object تکرار (iterate) انجام بدیم.
1️⃣ for...in
این حلقه برای کلیدهای enumerable یک آبجکت استفاده میشه.
⚠️ توجه: for...in
حتی کلیدهایی که از prototype به ارث برده شده باشن رو هم میاره.
برای جلوگیری میشه از hasOwnProperty
استفاده کرد:
2️⃣ ()Object.keys
این متد فقط کلیدهای مستقیم شیء (نه از پروتوتایپ) رو برمیگردونه.
3️⃣ ()Object.values
این متد فقط مقدارها رو برمیگردونه.
4️⃣ ()Object.entries
این متد هر پراپرتی رو به صورت [key, value] برمیگردونه.
5️⃣ تبدیل Object به Array و استفاده از متدهای Array
📌 خلاصه مقایسه
-
🔹
for...in
→ همه پراپرتیهای enumerable (شامل prototype). -
🔹
Object.keys(obj)
→ فقط کلیدهای مستقیم. -
🔹
Object.values(obj)
→ فقط مقدارها. -
🔹
Object.entries(obj)
→ آرایه از[key, value]
.