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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

کار با border و تنظیمات آن در CSS: مدیریت زوایای گرد با border-radius

کار با border و تنظیمات آن در CSS: مدیریت زوایای گرد با border-radius

9م آبان 1403

مطالعه بیشتر

آموزش کامل کنترل جریان و استفاده از if و else در جاوا اسکریپت: راهنمای جامع برای مبتدیان

آموزش کامل کنترل جریان و استفاده از if و else در جاوا اسکریپت: راهنمای جامع برای مبتدیان

2م بهمن 1402

مطالعه بیشتر

آموزش استفاده از cubic-bezier در CSS برای انیمیشن‌های سفارشی و حرفه‌ای

آموزش استفاده از cubic-bezier در CSS برای انیمیشن‌های سفارشی و حرفه‌ای

12م آبان 1403

مطالعه بیشتر

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

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

29م مرداد 1402

مطالعه بیشتر

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

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

28م شهریور 1402

مطالعه بیشتر

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

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

1م آبان 1403

مطالعه بیشتر

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

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

3م آبان 1403

مطالعه بیشتر

آموزش تگ‌های متنی اولیه در HTML: استایل‌دهی و قالب‌بندی متن‌ها

آموزش تگ‌های متنی اولیه در HTML: استایل‌دهی و قالب‌بندی متن‌ها

18م مرداد 1402

مطالعه بیشتر

استفاده از Viewports و Viewport Units در CSS: طراحی واکنش‌گرا با vw، vh، vmin و vmax

استفاده از Viewports و Viewport Units در CSS: طراحی واکنش‌گرا با vw، vh، vmin و vmax

16م آبان 1403

مطالعه بیشتر

آموزش mix-blend-mode و background-blend-mode در CSS: ترکیب رنگ‌ها و ایجاد افکت‌های جذاب

آموزش mix-blend-mode و background-blend-mode در CSS: ترکیب رنگ‌ها و ایجاد افکت‌های جذاب

12م آبان 1403

مطالعه بیشتر

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

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

4م آبان 1403

مطالعه بیشتر

کار با فیلترهای CSS: آموزش استفاده از blur، brightness و contrast برای افکت‌های تصویری جذاب

کار با فیلترهای CSS: آموزش استفاده از blur، brightness و contrast برای افکت‌های تصویری جذاب

11م آبان 1403

مطالعه بیشتر

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