آموزش کامل کار با آرایه‌ها و اشیاء در جاوا اسکریپت: ایجاد، دستکاری و پیمایش

دسته : آموزش رایگان جاوا اسکریپت (JavaScript)

آموزش کامل کار با آرایه‌ها و اشیاء در جاوا اسکریپت: ایجاد، دستکاری و پیمایش

آموزش کامل کار با آرایه‌ها و اشیاء در جاوا اسکریپت: ایجاد، دستکاری و پیمایش

در جاوا اسکریپت، آرایه‌ها و اشیاء از مهم‌ترین و پرکاربردترین ساختارهای داده‌ای هستند. این ساختارها به ما اجازه می‌دهند داده‌ها را به صورت منظم و قابل دسترس ذخیره کنیم و بر روی آن‌ها عملیات مختلفی انجام دهیم. در این مقاله به بررسی نحوه کار با آرایه‌ها و اشیاء، و روش‌های مختلف مدیریت و دستکاری آن‌ها در جاوا اسکریپت می‌پردازیم.

 

معرفی آرایه‌ها در جاوا اسکریپت

 

آرایه‌ها (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);

 

نتیجه‌گیری

 

آرایه‌ها و اشیاء در جاوا اسکریپت به شما این امکان را می‌دهند که داده‌ها را به صورت ساختار یافته ذخیره و مدیریت کنید. آگاهی از نحوه استفاده از متدهای مختلف برای دستکاری این ساختارهای داده‌ای، به شما در نوشتن کدهای قدرتمندتر و قابل نگهداری‌تر کمک می‌کند. تمرین با این مفاهیم و ابزارها می‌تواند مهارت‌های برنامه‌نویسی شما را به سطح بالاتری ببرد و به شما در ساخت برنامه‌های پیچ

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

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

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

27م شهریور 1402

مطالعه بیشتر

استفاده از calc در CSS: محاسبات پویا برای طراحی‌های منعطف

استفاده از calc در CSS: محاسبات پویا برای طراحی‌های منعطف

12م آبان 1403

مطالعه بیشتر

مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی

مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی

30م مهر 1403

مطالعه بیشتر

نصب Node.js و Create React App: شروع پروژه‌های React.js به‌صورت آسان

نصب Node.js و Create React App: شروع پروژه‌های React.js به‌صورت آسان

28م شهریور 1402

مطالعه بیشتر

آموزش لیست‌ها در CSS: طراحی و استایل‌دهی ساده برای لیست‌های HTML

آموزش لیست‌ها در CSS: طراحی و استایل‌دهی ساده برای لیست‌های HTML

10م شهریور 1402

مطالعه بیشتر

استفاده از setTimeout و setInterval در جاوا اسکریپت: آموزش کامل و مثال‌ها

استفاده از setTimeout و setInterval در جاوا اسکریپت: آموزش کامل و مثال‌ها

29م مهر 1403

مطالعه بیشتر

آموزش استفاده از تگ‌های خاص HTML: تگ‌های کاربردی برای طراحی وب‌سایت

آموزش استفاده از تگ‌های خاص HTML: تگ‌های کاربردی برای طراحی وب‌سایت

22م مرداد 1402

مطالعه بیشتر

آموزش تگ‌های زمان و مکان در HTML: استفاده از time و location در صفحات وب

آموزش تگ‌های زمان و مکان در HTML: استفاده از time و location در صفحات وب

29م مرداد 1402

مطالعه بیشتر

آموزش ساخت یک Todo List با استفاده از DOM و جاوا اسکریپت: راهنمای گام به گام

آموزش ساخت یک Todo List با استفاده از DOM و جاوا اسکریپت: راهنمای گام به گام

3م آبان 1403

مطالعه بیشتر

اصول پایه React.js: آشنایی با کامپوننت‌ها، وضعیت و رندرینگ

اصول پایه React.js: آشنایی با کامپوننت‌ها، وضعیت و رندرینگ

28م شهریور 1402

مطالعه بیشتر

آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر به‌صورت دقیق

آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر به‌صورت دقیق

12م آبان 1403

مطالعه بیشتر

آشنایی با انواع انتخاب‌گرها و تغییر پس‌زمینه با CSS: راهنمای جامع

آشنایی با انواع انتخاب‌گرها و تغییر پس‌زمینه با CSS: راهنمای جامع

4م شهریور 1402

مطالعه بیشتر

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