در جاوا اسکریپت، آرایهها و اشیاء از مهمترین و پرکاربردترین ساختارهای دادهای هستند. این ساختارها به ما اجازه میدهند دادهها را به صورت منظم و قابل دسترس ذخیره کنیم و بر روی آنها عملیات مختلفی انجام دهیم. در این مقاله به بررسی نحوه کار با آرایهها و اشیاء، و روشهای مختلف مدیریت و دستکاری آنها در جاوا اسکریپت میپردازیم.
آرایهها (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
جاوا اسکریپت متدهای بسیاری برای کار با آرایهها دارد که به شما اجازه میدهند تا به راحتی عناصر را اضافه، حذف، مرتبسازی و فیلتر کنید.
این متدها برای اضافه و حذف عناصر از انتهای آرایه استفاده میشوند.
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]
این متدها برای اضافه و حذف عناصر از ابتدای آرایه استفاده میشوند.
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]
این متد برای اضافه، حذف یا جایگزینی عناصر در یک آرایه استفاده میشود.
const fruits = ['apple', 'banana', 'cherry'];
fruits.splice(1, 1, 'orange'); // جایگزین کردن 'banana' با 'orange'
console.log(fruits); // Output: ['apple', 'orange', 'cherry']
این متد یک زیرمجموعه از آرایه را بازمیگرداند.
const fruits = ['apple', 'banana', 'cherry', 'date'];
const citrus = fruits.slice(1, 3);
console.log(citrus); // Output: ['banana', 'cherry']
این متد یک تابع را بر روی هر عنصر آرایه اعمال میکند و یک آرایه جدید با نتایج حاصل از اجرای تابع برای هر عنصر ایجاد میکند.
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(x => x * 2);
console.log(doubled); // Output: [2, 4, 6, 8]
این متد آرایهای از عناصری را که با شرط خاصی مطابقت دارند، برمیگرداند.
const numbers = [1, 2, 3, 4, 5];
const even = numbers.filter(x => x % 2 === 0);
console.log(even); // Output: [2, 4]
این متد برای کاهش (تجمیع) آرایه به یک مقدار واحد استفاده میشود.
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
این متد آرایهای از کلیدهای شیء را برمیگرداند.
const person = { name: 'Ali', age: 25 };
console.log(Object.keys(person)); // Output: ['name', 'age']
این متد آرایهای از مقادیر خصوصیات یک شیء را برمیگرداند.
console.log(Object.values(person)); // Output: ['Ali', 25]
این متد آرایهای از جفت کلید-مقدار به عنوان آرایههای جداگانه برمیگرداند.
console.log(Object.entries(person)); // Output: [['name', 'Ali'], ['age', 25]]
این متد یک یا چند شیء را به یک شیء هدف کپی میکند.
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);
آرایهها و اشیاء در جاوا اسکریپت به شما این امکان را میدهند که دادهها را به صورت ساختار یافته ذخیره و مدیریت کنید. آگاهی از نحوه استفاده از متدهای مختلف برای دستکاری این ساختارهای دادهای، به شما در نوشتن کدهای قدرتمندتر و قابل نگهداریتر کمک میکند. تمرین با این مفاهیم و ابزارها میتواند مهارتهای برنامهنویسی شما را به سطح بالاتری ببرد و به شما در ساخت برنامههای پیچ
نظری یافت نشد
مفهوم برنامهنویسی همزمان و ناهمزمان در جاوا اسکریپت: تفاوتها، مثالها و کاربردها
29م مهر 1403
مطالعه بیشتر
راهنمای کامل لیستها در HTML: آموزش انواع و اصول سئو
20م مرداد 1402
مطالعه بیشتر
استفاده از font face در CSS برای اضافه کردن فونتهای سفارشی: راهنمای کامل
16م آبان 1403
مطالعه بیشتر
نصب Node.js و Create React App: شروع پروژههای React.js بهصورت آسان
28م شهریور 1402
مطالعه بیشتر
آموزش قالببندی متن در HTML: استفاده از تگها و CSS برای استایلدهی
23م مرداد 1402
مطالعه بیشتر
آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل
5م آبان 1403
مطالعه بیشتر
واحدهای CSS مدرن: آموزش استفاده از vw، vh، vmin و vmax برای طراحی واکنشگرا
11م آبان 1403
مطالعه بیشتر
آموزش توسعه و مدیریت پروژههای بزرگ در جاوا اسکریپت: آشنایی با ابزارها و فریمورکهای کاربردی
4م آبان 1403
مطالعه بیشتر
مقدمهای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان
4م شهریور 1402
مطالعه بیشتر
تفاوت Callbacks و Promises در جاوا اسکریپت: مقایسه جامع با مثالها
30م مهر 1403
مطالعه بیشتر
آشنایی با انواع انتخابگرها و تغییر پسزمینه با CSS: راهنمای جامع
4م شهریور 1402
مطالعه بیشتر
معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن
28م شهریور 1402
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد