پیمایش اشیاء و آرایه‌ها در جاوا اسکریپت: راهنمای کامل برای Object.keys، Object.values، for...in و for...of

دسته : آموزش رایگان جاوا اسکریپت (JavaScript)

پیمایش اشیاء و آرایه‌ها در جاوا اسکریپت: راهنمای کامل برای Object.keys، Object.values، for...in و for...of

پیمایش اشیاء و آرایه‌ها در جاوا اسکریپت: راهنمای کامل برای Object.keys، Object.values، for...in و for...of

در جاوا اسکریپت، پیمایش (Iteration) بر روی اشیاء (Objects) و آرایه‌ها (Arrays) یکی از مفاهیم اساسی است که برای دسترسی به داده‌ها و عملیات مختلف بر روی آن‌ها به کار می‌رود. در این مقاله، به بررسی روش‌های مختلف پیمایش بر روی اشیاء و آرایه‌ها با استفاده از متدهای جاوا اسکریپت مانند Object.keys، Object.values، و حلقه‌های for...in و for...of می‌پردازیم.

 

پیمایش آرایه‌ها در جاوا اسکریپت

آرایه‌ها در جاوا اسکریپت مجموعه‌ای از مقادیر هستند که با استفاده از اندیس‌ها مرتب شده‌اند. جاوا اسکریپت چندین روش برای پیمایش آرایه‌ها فراهم کرده است که به شما امکان دسترسی و تغییر داده‌ها را می‌دهد.

 

for Loop

حلقه for یکی از ساده‌ترین و متداول‌ترین روش‌ها برای پیمایش آرایه‌هاست. این حلقه به شما اجازه می‌دهد تا به هر عنصر آرایه بر اساس اندیس دسترسی داشته باشید.


const fruits = ['apple', 'banana', 'cherry'];

for (let i = 0; i < fruits.length; i++) {
  console.log(fruits[i]);
}
// Output:
// apple
// banana
// cherry

 

forEach Method

متد forEach یکی از روش‌های راحت‌تر و مدرن‌تر برای پیمایش آرایه‌هاست. این متد به ازای هر عنصر آرایه، یک تابع کال‌بک (callback) اجرا می‌کند.


const fruits = ['apple', 'banana', 'cherry'];

fruits.forEach(fruit => {
  console.log(fruit);
});
// Output:
// apple
// banana
// cherry

 

for...of Loop

حلقه for...of برای پیمایش مستقیم مقادیر در آرایه‌ها و سایر اشیاء قابل پیمایش (iterable objects) استفاده می‌شود. این حلقه مختصرتر از for و forEach است و به ویژه برای آرایه‌ها بسیار مناسب است.


const fruits = ['apple', 'banana', 'cherry'];

for (const fruit of fruits) {
  console.log(fruit);
}
// Output:
// apple
// banana
// cherry

 

پیمایش اشیاء در جاوا اسکریپت

اشیاء در جاوا اسکریپت مجموعه‌ای از جفت‌های کلید-مقدار هستند. برای پیمایش این کلیدها و مقادیر، جاوا اسکریپت روش‌های مختلفی ارائه می‌دهد.

 

for...in Loop

حلقه for...in به شما اجازه می‌دهد که بر روی کلیدهای یک شیء پیمایش کنید. این روش مناسب‌ترین راه برای دسترسی به کلیدهای یک شیء است.


const person = {
  name: 'Ali',
  age: 30,
  city: 'Tehran'
};

for (const key in person) {
  console.log(`${key}: ${person[key]}`);
}
// Output:
// name: Ali
// age: 30
// city: Tehran

 

Object.keys Method

متد Object.keys یک آرایه از کلیدهای شیء را بازمی‌گرداند. این روش به شما اجازه می‌دهد تا با استفاده از یک حلقه، بر روی کلیدهای شیء پیمایش کنید.


const person = {
  name: 'Ali',
  age: 30,
  city: 'Tehran'
};

const keys = Object.keys(person);
keys.forEach(key => {
  console.log(`${key}: ${person[key]}`);
});
// Output:
// name: Ali
// age: 30
// city: Tehran

 

Object.values Method

متد Object.values یک آرایه از مقادیر شیء را بازمی‌گرداند. این روش برای زمانی که تنها به مقادیر نیاز دارید بسیار مفید است.


const person = {
  name: 'Ali',
  age: 30,
  city: 'Tehran'
};

const values = Object.values(person);
values.forEach(value => {
  console.log(value);
});
// Output:
// Ali
// 30
// Tehran

 

Object.entries Method

متد Object.entries یک آرایه از جفت‌های کلید-مقدار را به عنوان آرایه‌های جداگانه برمی‌گرداند. این روش زمانی مفید است که به هر دو کلید و مقدار نیاز دارید.


const person = {
  name: 'Ali',
  age: 30,
  city: 'Tehran'
};

const entries = Object.entries(person);
entries.forEach(([key, value]) => {
  console.log(`${key}: ${value}`);
});
// Output:
// name: Ali
// age: 30
// city: Tehran

 

تفاوت‌های بین for...in و for...of

درک تفاوت بین حلقه‌های for...in و for...of مهم است:

  • for...in: این حلقه برای پیمایش بر روی کلیدها یا خصوصیات یک شیء استفاده می‌شود. این روش تمام کلیدهای شیء را (حتی کلیدهایی که به ارث برده شده‌اند) پیمایش می‌کند.

  • for...of: این حلقه برای پیمایش مقادیر در یک آرایه یا سایر اشیاء قابل پیمایش استفاده می‌شود. این روش به ویژه برای آرایه‌ها و رشته‌ها مناسب است.

 

مثال‌های عملی برای پیمایش ترکیبی اشیاء و آرایه‌ها

گاهی اوقات نیاز است که بر روی آرایه‌ای از اشیاء یا شیئی که حاوی آرایه است پیمایش کنید. در اینجا چند مثال عملی آورده شده است:

 

پیمایش آرایه‌ای از اشیاء


const users = [
  { name: 'Ali', age: 30 },
  { name: 'Sara', age: 25 },
  { name: 'Reza', age: 35 }
];

for (const user of users) {
  console.log(`Name: ${user.name}, Age: ${user.age}`);
}
// Output:
// Name: Ali, Age: 30
// Name: Sara, Age: 25
// Name: Reza, Age: 35

 

پیمایش شیئی که حاوی آرایه است


const company = {
  name: 'Tech Co.',
  employees: ['Ali', 'Sara', 'Reza'],
  location: 'Tehran'
};

console.log('Company Name:', company.name);
console.log('Location:', company.location);

console.log('Employees:');
for (const employee of company.employees) {
  console.log(employee);
}
// Output:
// Company Name: Tech Co.
// Location: Tehran
// Employees:
// Ali
// Sara
// Reza

 

نتیجه‌گیری

پیمایش اشیاء و آرایه‌ها در جاوا اسکریپت یکی از عملیات‌های رایج و اساسی است. با استفاده از روش‌های مختلف مانند Object.keys، Object.values، for...in، و for...of، می‌توانید به راحتی بر روی داده‌های خود پیمایش کنید و به آن‌ها دسترسی داشته باشید. دانستن این ابزارها و تفاوت‌های آن‌ها به شما کمک می‌کند تا کدهای کارآمدتری بنویسید و عملیات‌های پیچیده‌تر را به سادگی انجام دهید.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

مقدمه‌ای بر Node.js و کار با جاوا اسکریپت سمت سرور: آموزش اولیه و اصولی

مقدمه‌ای بر Node.js و کار با جاوا اسکریپت سمت سرور: آموزش اولیه و اصولی

4م آبان 1403

مطالعه بیشتر

آموزش توسعه بازی‌های ساده با استفاده از جاوا اسکریپت و Canvas API: راهنمای گام به گام

آموزش توسعه بازی‌های ساده با استفاده از جاوا اسکریپت و Canvas API: راهنمای گام به گام

5م آبان 1403

مطالعه بیشتر

آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل

آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل

5م آبان 1403

مطالعه بیشتر

ایجاد Layout‌های واکنش‌گرا با flex-direction و justify-content در CSS Flexbox: راهنمای جامع

ایجاد Layout‌های واکنش‌گرا با flex-direction و justify-content در CSS Flexbox: راهنمای جامع

11م آبان 1403

مطالعه بیشتر

جمع‌بندی، مرور مطالب و پروژه نهایی: ایجاد یک اپلیکیشن وب کامل با جاوا اسکریپت - راهنمای گام به گام

جمع‌بندی، مرور مطالب و پروژه نهایی: ایجاد یک اپلیکیشن وب کامل با جاوا اسکریپت - راهنمای گام به گام

5م آبان 1403

مطالعه بیشتر

راهنمای کامل جداول HTML: آموزش ساخت و بهینه‌سازی سئو

راهنمای کامل جداول HTML: آموزش ساخت و بهینه‌سازی سئو

21م مرداد 1402

مطالعه بیشتر

آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر

آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر

11م آبان 1403

مطالعه بیشتر

معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان

معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان

1م آبان 1403

مطالعه بیشتر

آموزش لیست‌ها در CSS: طراحی و استایل‌دهی ساده برای لیست‌های HTML

آموزش لیست‌ها در CSS: طراحی و استایل‌دهی ساده برای لیست‌های HTML

10م شهریور 1402

مطالعه بیشتر

آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیره‌سازی داده‌ها در مرورگر

آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیره‌سازی داده‌ها در مرورگر

3م آبان 1403

مطالعه بیشتر

پارامترها و بازگشت از توابع در جاوا اسکریپت: نحوه تعریف و مدیریت خروجی‌ها

پارامترها و بازگشت از توابع در جاوا اسکریپت: نحوه تعریف و مدیریت خروجی‌ها

2م بهمن 1402

مطالعه بیشتر

تنظیم عرض و ارتفاع عناصر در CSS: استفاده از width، height، max و min برای کنترل دقیق اندازه‌ها

تنظیم عرض و ارتفاع عناصر در CSS: استفاده از width، height، max و min برای کنترل دقیق اندازه‌ها

9م آبان 1403

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد