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

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

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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

تفاوت Session و Cookie در PHP؛ راهنمای جامع و کاربردی طبق استاندارد گوگل
1405/05/01 20:14

تفاوت Session و Cookie در PHP؛ راهنمای جامع و کاربردی طبق استاندارد گوگل

مطالعه بیشتر
آموزش مفاهیم اولیه CSS Grid Layout: طراحی شبکه‌های پیچیده و واکنش‌گرا راهنمای کامل
1402/06/06 23:24

آموزش مفاهیم اولیه CSS Grid Layout: طراحی شبکه‌های پیچیده و واکنش‌گرا راهنمای کامل

مطالعه بیشتر
آموزش Responsive Design با استفاده از Media Queries: طراحی واکنش‌گرا برای تمامی دستگاه‌ها
1402/06/10 18:07

آموزش Responsive Design با استفاده از Media Queries: طراحی واکنش‌گرا برای تمامی دستگاه‌ها

مطالعه بیشتر
آموزش جامع اعتبارسنجی حجم و نوع فایل آپلودی در PHP طبق استانداردهای امنیتی گوگل
1405/05/01 20:20

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

مطالعه بیشتر
آموزش کامل حلقه foreach در PHP برای پیمایش آرایه‌ها (به زبان ساده)
1405/04/04 00:22

آموزش کامل حلقه foreach در PHP برای پیمایش آرایه‌ها (به زبان ساده)

مطالعه بیشتر
مدیریت خطاها و استفاده از try...catch در جاوا اسکریپت: راهنمای کامل و مثال‌ها
1403/07/28 21:58

مدیریت خطاها و استفاده از try...catch در جاوا اسکریپت: راهنمای کامل و مثال‌ها

مطالعه بیشتر
آموزش گام به گام طراحی مگا منو (Mega Menu) مدرن با CSS و HTML
1405/03/13 23:44

آموزش گام به گام طراحی مگا منو (Mega Menu) مدرن با CSS و HTML

مطالعه بیشتر
آموزش کامل تفاوت echo و print در PHP به زبان ساده
1405/03/21 01:11

آموزش کامل تفاوت echo و print در PHP به زبان ساده

مطالعه بیشتر
استفاده از font face در CSS برای اضافه کردن فونت‌های سفارشی: راهنمای کامل
1403/08/16 21:48

استفاده از font face در CSS برای اضافه کردن فونت‌های سفارشی: راهنمای کامل

مطالعه بیشتر
آموزش جامع و کاربردی کار با فایل‌ها در PHP
1405/05/04 23:14

آموزش جامع و کاربردی کار با فایل‌ها در PHP

مطالعه بیشتر
استفاده از clip-path در CSS برای برش‌های زیبا و جذاب: راهنمای کامل
1403/08/16 22:58

استفاده از clip-path در CSS برای برش‌های زیبا و جذاب: راهنمای کامل

مطالعه بیشتر
آموزش تکنیک‌های پیشرفته CSS Grid: طراحی ساختارهای پیچیده و واکنش‌گرا
1402/06/18 23:16

آموزش تکنیک‌های پیشرفته CSS Grid: طراحی ساختارهای پیچیده و واکنش‌گرا

مطالعه بیشتر

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