آموزش کامل کار با آرایهها و اشیاء در جاوا اسکریپت: ایجاد، دستکاری و پیمایش
در جاوا اسکریپت، آرایهها و اشیاء از مهمترین و پرکاربردترین ساختارهای دادهای هستند. این ساختارها به ما اجازه میدهند دادهها را به صورت منظم و قابل دسترس ذخیره کنیم و بر روی آنها عملیات مختلفی انجام دهیم. در این مقاله به بررسی نحوه کار با آرایهها و اشیاء، و روشهای مختلف مدیریت و دستکاری آنها در جاوا اسکریپت میپردازیم.
معرفی آرایهها در جاوا اسکریپت
آرایهها (Arrays) ساختارهای دادهای هستند که میتوانند مجموعهای از دادهها را در یک متغیر ذخیره کنند. این دادهها میتوانند از هر نوعی باشند؛ اعداد، رشتهها، اشیاء و یا حتی توابع.
ایجاد آرایهها
آرایهها را میتوان به دو روش اصلی در جاوا اسکریپت ایجاد کرد:
استفاده از براکتهای مربع []:
const numbers = [1, 2, 3, 4, 5];
const fruits = ['apple', 'banana', 'cherry'];
استفاده از سازنده Array:
const numbers = new Array(1, 2, 3, 4, 5);
const fruits = new Array('apple', 'banana', 'cherry');
دسترسی به عناصر آرایهها
عناصر یک آرایه با استفاده از اندیس (Index) که از صفر شروع میشود، قابل دسترسی هستند.
const fruits = ['apple', 'banana', 'cherry'];
console.log(fruits[0]); // Output: apple
console.log(fruits[2]); // Output: cherry
متدهای متداول آرایهها
جاوا اسکریپت متدهای بسیاری برای کار با آرایهها دارد که به شما اجازه میدهند تا به راحتی عناصر را اضافه، حذف، مرتبسازی و فیلتر کنید.
push() و pop()
این متدها برای اضافه و حذف عناصر از انتهای آرایه استفاده میشوند.
const numbers = [1, 2, 3];
numbers.push(4); // اضافه کردن عنصر به انتها
console.log(numbers); // Output: [1, 2, 3, 4]
numbers.pop(); // حذف آخرین عنصر
console.log(numbers); // Output: [1, 2, 3]
unshift() و shift()
این متدها برای اضافه و حذف عناصر از ابتدای آرایه استفاده میشوند.
const numbers = [2, 3, 4];
numbers.unshift(1); // اضافه کردن عنصر به ابتدا
console.log(numbers); // Output: [1, 2, 3, 4]
numbers.shift(); // حذف اولین عنصر
console.log(numbers); // Output: [2, 3, 4]
splice()
این متد برای اضافه، حذف یا جایگزینی عناصر در یک آرایه استفاده میشود.
const fruits = ['apple', 'banana', 'cherry'];
fruits.splice(1, 1, 'orange'); // جایگزین کردن 'banana' با 'orange'
console.log(fruits); // Output: ['apple', 'orange', 'cherry']
slice()
این متد یک زیرمجموعه از آرایه را بازمیگرداند.
const fruits = ['apple', 'banana', 'cherry', 'date'];
const citrus = fruits.slice(1, 3);
console.log(citrus); // Output: ['banana', 'cherry']
map()
این متد یک تابع را بر روی هر عنصر آرایه اعمال میکند و یک آرایه جدید با نتایج حاصل از اجرای تابع برای هر عنصر ایجاد میکند.
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(x => x * 2);
console.log(doubled); // Output: [2, 4, 6, 8]
filter()
این متد آرایهای از عناصری را که با شرط خاصی مطابقت دارند، برمیگرداند.
const numbers = [1, 2, 3, 4, 5];
const even = numbers.filter(x => x % 2 === 0);
console.log(even); // Output: [2, 4]
reduce()
این متد برای کاهش (تجمیع) آرایه به یک مقدار واحد استفاده میشود.
const numbers = [1, 2, 3, 4];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // Output: 10
معرفی اشیاء در جاوا اسکریپت
اشیاء (Objects) در جاوا اسکریپت به شما اجازه میدهند که مجموعهای از خصوصیات (Properties) و متدها (Methods) را به صورت یکجا ذخیره و مدیریت کنید. این ویژگیها میتوانند دادههای مختلف و توابعی باشند که میتوانند بر روی این دادهها اعمال شوند.
استفاده از سینتکس آبجکت لیترال {}:
const person = {
firstName: 'John',
lastName: 'Doe',
age: 30
};
استفاده از سازنده Object:
const person = new Object();
person.firstName = 'John';
person.lastName = 'Doe';
person.age = 30;
دسترسی به خصوصیات و متدهای اشیاء
میتوان از دو روش نقطهای (Dot Notation) و براکت (Bracket Notation) برای دسترسی به خصوصیات و متدهای اشیاء استفاده کرد.
console.log(person.firstName); // Output: John
console.log(person['lastName']); // Output: Doe
متدهای متداول اشیاء
Object.keys()
این متد آرایهای از کلیدهای شیء را برمیگرداند.
const person = { name: 'Ali', age: 25 };
console.log(Object.keys(person)); // Output: ['name', 'age']
Object.values()
این متد آرایهای از مقادیر خصوصیات یک شیء را برمیگرداند.
console.log(Object.values(person)); // Output: ['Ali', 25]
Object.entries()
این متد آرایهای از جفت کلید-مقدار به عنوان آرایههای جداگانه برمیگرداند.
console.log(Object.entries(person)); // Output: [['name', 'Ali'], ['age', 25]]
Object.assign()
این متد یک یا چند شیء را به یک شیء هدف کپی میکند.
const target = { a: 1 };
const source = { b: 2, c: 3 };
const returnedTarget = Object.assign(target, source);
console.log(returnedTarget); // Output: { a: 1, b: 2, c: 3 }
کار با آرایههای از اشیاء
در بسیاری از موارد، شما نیاز به مدیریت آرایههایی از اشیاء خواهید داشت. در اینجا چند مثال برای کار با این نوع دادهها آورده شده است:
const users = [
{ name: 'Ali', age: 25 },
{ name: 'Sara', age: 30 },
{ name: 'Reza', age: 22 }
];
// فیلتر کردن کاربران بالای 24 سال
const filteredUsers = users.filter(user => user.age > 24);
console.log(filteredUsers);
// خروجی: [ { name: 'Ali', age: 25 }, { name: 'Sara', age: 30 } ]
// یافتن کاربری با نام 'Sara'
const sara = users.find(user => user.name === 'Sara');
console.log(sara);
// خروجی: { name: 'Sara', age: 30 }
// جمع کردن سن تمام کاربران
const totalAge = users.reduce((total, user) => total + user.age, 0);
console.log(totalAge);
نتیجهگیری
آرایهها و اشیاء در جاوا اسکریپت به شما این امکان را میدهند که دادهها را به صورت ساختار یافته ذخیره و مدیریت کنید. آگاهی از نحوه استفاده از متدهای مختلف برای دستکاری این ساختارهای دادهای، به شما در نوشتن کدهای قدرتمندتر و قابل نگهداریتر کمک میکند. تمرین با این مفاهیم و ابزارها میتواند مهارتهای برنامهنویسی شما را به سطح بالاتری ببرد و به شما در ساخت برنامههای پیچ
پرسش و پاسخ
نظری یافت نشد
برای ارسال نظر ابتدا وارد شوید