به احتمال بسیار عناصر یک آرایه را با استفاده از ساختارهای تکرار مانند for، foreach و… پیمایش کرده اید، آرایه هایی که می توانند شامل عناصر مختلف از نوع رشته، اعداد، آبجکت و ... باشند اما اگر بخواهیم عناصر یک object را پیمایش کنیم و به آنها دسترسی داشته باشیم نمی توانیم از for، foreach، map و… استفاده کنیم. برای این حالت در javascript سه متد وجود دارد که با استفاده از آنها می توانیم عناصر یک آبجکت را پیمایش نمائیم.
این ساختار اندیس های یک object را بر اساس ترتیب آن در یک آرایه بر می گرداند و سپس از این آرایه می توان در حلقه های تکرار استفاده کرده و به مقادیر متناظر آن در object را دسترسی پیدا کرد.
const object = { a: 'hello', b: ‘world’, c: ‘!’ }; const properties = Object.keys(object); console.log(properties); properties.forEach(property=>{ console.log(object[property]); })
این ساختار عناصر object را در یک آرایه چند بعدی برمی گرداند. به عبارتی وقتی از این متد استفاده می کنم اندیس و مقدار هر عنصر object در یک آرایه ذخیره شده و در قالب یک آرایه کلی برگردانده می شود.
const object = { a: 'hello', b: ‘world’, c: ‘!’ }; const data = Object.entries(object); console.log(‘All data: ’, data); for( let [key, value] of data) { console.log(`${key}: ${value}`); }
ساختار For...in
این ساختار تکرار برای پیمایش object ها استفاده می شود، در هر تکرار اندیس object در متغیر مشخص شده برگردانده می شود و می توانیم از آن برای دسترسی به مقادیر object استفاده کنیم.
const object = { a: 'hello', b: ‘world’, c: ‘!’ }; for( let key in object) { console.log(object[key]); }