در جاوا اسکریپت، آرایهها و اشیاء از مهمترین و پرکاربردترین ساختارهای دادهای هستند. این ساختارها به ما اجازه میدهند دادهها را به صورت منظم و قابل دسترس ذخیره کنیم و بر روی آنها عملیات مختلفی انجام دهیم. در این مقاله به بررسی نحوه کار با آرایهها و اشیاء، و روشهای مختلف مدیریت و دستکاری آنها در جاوا اسکریپت میپردازیم.
آرایهها (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);
آرایهها و اشیاء در جاوا اسکریپت به شما این امکان را میدهند که دادهها را به صورت ساختار یافته ذخیره و مدیریت کنید. آگاهی از نحوه استفاده از متدهای مختلف برای دستکاری این ساختارهای دادهای، به شما در نوشتن کدهای قدرتمندتر و قابل نگهداریتر کمک میکند. تمرین با این مفاهیم و ابزارها میتواند مهارتهای برنامهنویسی شما را به سطح بالاتری ببرد و به شما در ساخت برنامههای پیچ
نظری یافت نشد
معرفی جاوا اسکریپت و نحوه استفاده از آن برای توسعه وب تعاملی: راهنمای جامع
27م شهریور 1402
مطالعه بیشتر
استفاده از calc در CSS: محاسبات پویا برای طراحیهای منعطف
12م آبان 1403
مطالعه بیشتر
مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثالهای عملی
30م مهر 1403
مطالعه بیشتر
نصب Node.js و Create React App: شروع پروژههای React.js بهصورت آسان
28م شهریور 1402
مطالعه بیشتر
آموزش لیستها در CSS: طراحی و استایلدهی ساده برای لیستهای HTML
10م شهریور 1402
مطالعه بیشتر
استفاده از setTimeout و setInterval در جاوا اسکریپت: آموزش کامل و مثالها
29م مهر 1403
مطالعه بیشتر
آموزش استفاده از تگهای خاص HTML: تگهای کاربردی برای طراحی وبسایت
22م مرداد 1402
مطالعه بیشتر
آموزش تگهای زمان و مکان در HTML: استفاده از time و location در صفحات وب
29م مرداد 1402
مطالعه بیشتر
آموزش ساخت یک Todo List با استفاده از DOM و جاوا اسکریپت: راهنمای گام به گام
3م آبان 1403
مطالعه بیشتر
اصول پایه React.js: آشنایی با کامپوننتها، وضعیت و رندرینگ
28م شهریور 1402
مطالعه بیشتر
آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر بهصورت دقیق
12م آبان 1403
مطالعه بیشتر
آشنایی با انواع انتخابگرها و تغییر پسزمینه با CSS: راهنمای جامع
4م شهریور 1402
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد