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

دسته : آموزش رایگان جاوا اسکریپت (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);

 

نتیجه‌گیری

 

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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش استفاده از cubic-bezier در CSS برای انیمیشن‌های سفارشی و حرفه‌ای

آموزش استفاده از cubic-bezier در CSS برای انیمیشن‌های سفارشی و حرفه‌ای

12م آبان 1403

مطالعه بیشتر

استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع

استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع

9م آبان 1403

مطالعه بیشتر

معرفی Vue.js و ویژگی‌های کلیدی آن: فریمورک مدرن برای توسعه وب تعاملی

معرفی Vue.js و ویژگی‌های کلیدی آن: فریمورک مدرن برای توسعه وب تعاملی

28م شهریور 1402

مطالعه بیشتر

آموزش CSS Transform و Transition: تبدیل‌ها و ایجاد تغییرات ظاهری پویا

آموزش CSS Transform و Transition: تبدیل‌ها و ایجاد تغییرات ظاهری پویا

10م شهریور 1402

مطالعه بیشتر

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

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

10م شهریور 1402

مطالعه بیشتر

کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر

کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر

16م آبان 1403

مطالعه بیشتر

آموزش استفاده از box-shadow و text-shadow در CSS: ایجاد سایه‌های زیبا و جذاب

آموزش استفاده از box-shadow و text-shadow در CSS: ایجاد سایه‌های زیبا و جذاب

11م آبان 1403

مطالعه بیشتر

آموزش استفاده از ماژول‌ها (Modules) در جاوا اسکریپت: آشنایی با ES6 Modules - راهنمای کامل

آموزش استفاده از ماژول‌ها (Modules) در جاوا اسکریپت: آشنایی با ES6 Modules - راهنمای کامل

5م آبان 1403

مطالعه بیشتر

تنظیم عرض و ارتفاع عناصر در CSS: استفاده از width، height، max و min برای کنترل دقیق اندازه‌ها

تنظیم عرض و ارتفاع عناصر در CSS: استفاده از width، height، max و min برای کنترل دقیق اندازه‌ها

9م آبان 1403

مطالعه بیشتر

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

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

1م آبان 1403

مطالعه بیشتر

آموزش توسعه بازی‌های ساده با استفاده از جاوا اسکریپت و Canvas API: راهنمای گام به گام

آموزش توسعه بازی‌های ساده با استفاده از جاوا اسکریپت و Canvas API: راهنمای گام به گام

5م آبان 1403

مطالعه بیشتر

آموزش CSS Blend Modes: ادغام رنگ‌ها و تصاویر برای طراحی وب جذاب

آموزش CSS Blend Modes: ادغام رنگ‌ها و تصاویر برای طراحی وب جذاب

9م آبان 1403

مطالعه بیشتر

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