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