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

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

4م مهر 1403 محراب حسن زاده
پیمایش اشیاء و آرایه‌ها در جاوا اسکریپت: راهنمای کامل برای 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، می‌توانید به راحتی بر روی داده‌های خود پیمایش کنید و به آن‌ها دسترسی داشته باشید. دانستن این ابزارها و تفاوت‌های آن‌ها به شما کمک می‌کند تا کدهای کارآمدتری بنویسید و عملیات‌های پیچیده‌تر را به سادگی انجام دهید.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

معرفی Vue.js و ویژگی‌های کلیدی آن: فریمورک مدرن برای توسعه وب تعاملی
28م شهریور 1402

معرفی Vue.js و ویژگی‌های کلیدی آن: فریمورک مدرن برای توسعه وب تعاملی

مطالعه بیشتر
استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع
9م آبان 1403

استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع

مطالعه بیشتر
آموزش مفاهیم پایه‌ای اشیاء در جاوا اسکریپت: تعریف، ویژگی‌ها و متدها
2م شهریور 1403

آموزش مفاهیم پایه‌ای اشیاء در جاوا اسکریپت: تعریف، ویژگی‌ها و متدها

مطالعه بیشتر
آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع
2م آبان 1403

آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع

مطالعه بیشتر
عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف
28م شهریور 1402

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

مطالعه بیشتر
مفهوم برنامه‌نویسی هم‌زمان و ناهم‌زمان در جاوا اسکریپت: تفاوت‌ها، مثال‌ها و کاربردها
29م مهر 1403

مفهوم برنامه‌نویسی هم‌زمان و ناهم‌زمان در جاوا اسکریپت: تفاوت‌ها، مثال‌ها و کاربردها

مطالعه بیشتر
مفاهیم پیشرفته اشیاء در جاوا اسکریپت: مدیریت خصوصیات و متدها
4م مهر 1403

مفاهیم پیشرفته اشیاء در جاوا اسکریپت: مدیریت خصوصیات و متدها

مطالعه بیشتر
آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child
10م شهریور 1402

آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child

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

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

مطالعه بیشتر
چگونه اسکریپت‌های ساده جاوا اسکریپت را در مرورگر بنویسیم و اجرا کنیم: راهنمای کامل برای مبتدیان
2م مهر 1402

چگونه اسکریپت‌های ساده جاوا اسکریپت را در مرورگر بنویسیم و اجرا کنیم: راهنمای کامل برای مبتدیان

مطالعه بیشتر
آموزش استفاده از تگ‌های تصویری در HTML: نمایش و مدیریت تصاویر در صفحات وب
29م مرداد 1402

آموزش استفاده از تگ‌های تصویری در HTML: نمایش و مدیریت تصاویر در صفحات وب

مطالعه بیشتر
JSX و رندرینگ مؤثر در React.js: بهینه‌سازی کامپوننت‌ها و بهبود عملکرد
28م شهریور 1402

JSX و رندرینگ مؤثر در React.js: بهینه‌سازی کامپوننت‌ها و بهبود عملکرد

مطالعه بیشتر

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