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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش ایجاد، دسترسی و اصلاح آرایه‌ها در جاوا اسکریپت: راهنمای کامل
4م مهر 1403

آموزش ایجاد، دسترسی و اصلاح آرایه‌ها در جاوا اسکریپت: راهنمای کامل

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

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

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

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

مطالعه بیشتر
آموزش موقعیت‌بندی المان‌ها با استفاده از position در CSS: نحوه استفاده از absolute، relative و fixed
5م شهریور 1402

آموزش موقعیت‌بندی المان‌ها با استفاده از position در CSS: نحوه استفاده از absolute، relative و fixed

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

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

مطالعه بیشتر
آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها
1م آبان 1403

آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها

مطالعه بیشتر
درک و استفاده از Watchers در Vue.js | آموزش Watch با مثال کاربردی
28م آذر 1404

درک و استفاده از Watchers در Vue.js | آموزش Watch با مثال کاربردی

مطالعه بیشتر
آشنایی با Vue CLI و ایجاد پروژه‌های پیشرفته در Vue.js | راهنمای کامل
29م آذر 1404

آشنایی با Vue CLI و ایجاد پروژه‌های پیشرفته در Vue.js | راهنمای کامل

مطالعه بیشتر
آموزش استفاده از box-shadow و text-shadow در CSS: ایجاد سایه‌های زیبا و جذاب
11م آبان 1403

آموزش استفاده از box-shadow و text-shadow در CSS: ایجاد سایه‌های زیبا و جذاب

مطالعه بیشتر
آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننت‌ها
28م شهریور 1402

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

مطالعه بیشتر
آموزش انیمیشن‌های پیشرفته با keyframes در CSS: طراحی حرکات پویا و چند مرحله‌ای
18م شهریور 1402

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

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

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

مطالعه بیشتر

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