آرایه (Array) در زبان جاوا اسکریپت عناصر را به هم متصل میکند و یک کل منسجم به وجود میآورد. آرایه مانند یک عصای جادویی است که تخیلات یک برنامهنویس را به واقعیت تبدیل میکند. با استفاده از Array میتوان دادههای مختلف و نامرتب را هماهنگ کرد و به آنها شکل داد.
در ادامه به شکل ساده، به توضیح این عصای جادویی پرداختهایم.
برنامهنویس وب و اپلیکیشن به مهارتهای مختلفی نیاز دارد و یادگرفتن یک زبان برنامهنویسی بهتنهایی کافی نیست. «مهمترین مهارتها برای برنامهنویسان وب و اپلیکیشن (۲۰۲۳)» را بخوانید تا با مهمترین مهارتهایی که برنامهنویسان باید داشته باشند، آشنا شوید.
آنچه در این نوشته خواهیم داشت
آرایه (Array) در جاوااسکریپت چیست؟
آرایهها یا همان Array یک مفهوم اساسی در برنامهنویسیاند و در زبانهای برنامهنویسی مختلف استفاده میشوند. اصلیترین کاربرد آرایهها، ذخیره مجموعهای از دادههای مرتبط است. به عنوان مثال، میتوان از یک آرایه برای ذخیره لیستی از نامها، مجموعهای از مختصات یا تاریخها و همچنین ذخیره ساختارهای دادههای پیچیدهتر، مانند اشیا یا آرایههای دیگر، استفاده کرد.
چگونه یک آرایه را در جاوا اسکریپت مقداردهی اولیه کنیم؟
برای اعلام و مقداردهی اولیه یک آرایه در جاوااسکریپت، میتوانید از دستور زیر استفاده کنید:
let Amanj = [element1, element2, element3];
- در این مثال Amanj نام آرایه است.
- element1، element2 و element3 مقادیری هستند که میخواهید در آرایهی Amanj ذخیره کنید. همچنین میشود یک آرایه خالی را مانند مثال زیر اعلام کنید:
let myArray = [];
- let یک کلمه کلیدی در جاوا اسکریپت است که برای اعلام متغیرها استفاده میشود. وقتی از let استفاده میکنید، به مروگر میگویید که یک ظرف جدید با یک نام خاص (در این مورد Amanj) ایجاد و آن را با مقادیر داخل پرانتز پر کند.
از طرفی هر عنصری در Array یک موقعیت دارد که به عنوان اندیس یا شاخص آن عنصر معرفی میشود. مثال زیر را در نظر بگیرید:
var fruits = ["apple", "banana", "orange"];
عنصر apple دارای اندیس صفر، banana دارای اندیس ۱ و orange دارای اندیس ۲ است.
همانطور که در مثال بالا نشان دادیم، اندیسها در زبان برنامهنویسی جاوا اسکریپت از صفر شروع میشوند.
در ادامه به طور مفصل به کاربرد آرایهها در این زبان برنامهنویسی میپردازیم. اما نیاز است بدانید که تمام عناصر آرایه با ویرگول ( , ) از هم جدا میشوند و از طرفی علامت کروشه (قلاب) [] نشاندهنده ساختمان داده آرایه است.
کاربرد آرایه در جاوااسکریپت
علاوه بر ذخیره دادهها، آرایهها برای انجام عملیات روی دادهها نیز استفاده میشوند. به عنوان مثال، میتوان از یک آرایه برای انجام محاسبات روی مجموعهای از اعداد یا فیلتر کردن و مرتب کردن لیستی از موارد بر اساس معیارهای خاص استفاده کرد.
دیگر کاربرد کلیدی آرایهها قابلیت تغییر اندازه پویا است. این بدان معناست که برنامهنویس و توسعهدهنده میتواند در صورت نیاز عناصری را از یک آرایه اضافه یا حذف کند. این ویژگی در شرایطی که اندازه مجموعه دادهها در طول زمان تغییر میکند، بسیار مفید خواهد بود.
به طور کلی، آرایهها ابزار قدرتمندی در جاوا اسکریپت هستند که به برنامهنویس اجازه میدهند، دادهها را به روشی انعطافپذیر و کارآمد ذخیره و دستکاری کند. با درک نحوه استفاده موثر از آرایهها، برنامهنویس میتواند کد کارآمدتر و موثرتری بنویسد که با نیازهای برنامهنویسی سازگارتر باشد.
انواع دادهها در جاوا اسکریپت
در جاوااسکریپت، آرایهها عناصری از انواع مختلف داده را در خود نگه میدارند. این بدان معنا است که شما میتوانید مقادیری از انواع مختلف مانند اعداد، رشتهها، بولیها، اشیاء و حتی آرایههای دیگر را در یک آرایه جاوا اسکریپت ذخیره کنید.
در ادامه به انواع دادههای داخلی اشاره کردیم که در آرایهها استفاده میشوند:
اعداد:
اعداد در جاوا اسکریپت با نوع داده number نشان داده میشوند. آنها مقادیر مثبت، منفی یا اعشاری میگیرند.
let numbers = [1, 2, 3, 4, 5];
رشتهها (Strings):
رشتهها در جاوااسکریپت دنبالهای از کاراکترها هستند.
let fruits = ["apple", "banana", "orange"];
Booleans:
Booleans مقادیر منطقی “true” و “false” را نشان میدهند.
let flags = [true, false, true];
اشیا (Objects):
اشیا انواع دادههای پیچیدهای هستند که جفتهای key-value را ذخیره میکنند.
let students = [{ name: "Alice", age: 20 }, { name: "Bob", age: 21 }];
توابع (Functions):
توابع همچنین میتوانند در آرایهها ذخیره شوند و به برنامهنویسان این امکان را میدهند که بعداً به آنها دسترسی داشته باشند و آنها را اجرا کنند.
let greetings = [function() { console.log("Hello!") }, function() { console.log("Hi!") }];
Undefined و Null:
آرایهها ممکن است حاوی عناصری با مقدار «undefined» یا «null» باشند.
let mixed = [1, "apple", true, undefined, null];
آرایههای دیگر:
آرایههای جاوااسکریپت میتوانند آرایههای دیگر را به عنوان عناصر ذخیره کنند. امکان ایجاد آرایههای چندبعدی نیز از این طریق فراهم میشود.
let matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
برای مطالعهی بیشتر:
«مروری بر عملگرها و عبارات در جاوا اسکریپت»
متدهای آرایهها (Array methods)
همانطور که پیشتر اشاره کردیم با استفاده از آرایهها در زبان برنامه نویسی جاوا اسکریپت، میتوان دادهها را دستکاری کرد. برای این کار باید به Array methods مسلط بود که در ادامه به متداولترین آنها اشاره کردهایم:
۱.()push
این متد یک یا چند عنصر را به انتهای یک آرایه اضافه میکند. بنابراین با اصلاح آرایه اصلی، طول جدیدی به آن میبخشد.
مثال:
let fruits = ["apple", "banana", "orange"]; fruits.push("pear"); console.log(fruits); // Output: ["apple", "banana", "orange", "pear"]
در این مثال با استفاده از متد push دستور دادیم، pear به دادهها اضافه شود.
لازم به ذکر است که console.log(fruits) عبارتی است که محتویات آرایه “fruits” را در کنسول نمایش میدهد. در این مثال، [“سیب”، “موز”، “نارنجی”، “گلابی”] را نمایش خواهد داد؛ زیرا ((گلابی)) با استفاده از این متد به انتهای آرایه اضافه شده است.
۲. ()pop
این متد آخرین عنصر را از یک آرایه حذف میکند.
مثال:
let fruits = ["apple", "banana", "orange"]; let lastFruit = fruits.pop(); console.log(lastFruit); // Output: "orange" console.log(fruits); // Output: ["apple", "banana"]
۳. ()shift
این متد اولین عنصر را از یک آرایه حذف میکند.
مثال:
let fruits = ["apple", "banana", "orange"]; let firstFruit = fruits.shift(); console.log(firstFruit); // Output: "apple" console.log(fruits); // Output: ["banana", "orange"]
در این مثال عنصر apple حذف شده است.
۴. ()unshift
این متد یک یا چند عنصر را به ابتدای یک آرایه اضافه می کند؛ بنابراین طول جدید هم به آرایه میبخشد.
مثال:
let fruits = ["apple", "banana", "orange"]; fruits.unshift("kiwi"); console.log(fruits); // Output: ["kiwi", "apple", "banana", "orange"
در این مثال عنصر kiwi به ابتدای آرایه اضافه شده است.
Copying methods در مقایسه با Mutating methods
متدهای کپی (Copying methods) در جاوا اسکریپت برای ایجاد یک آرایه جدید (که یک کپی از آرایه اصلی است) بدون تغییر خود آرایه اصلی استفاده میشود. این روشها به شما این امکان را میدهند که با یک کپی جداگانه و مستقل از آرایه کار کنید. (…)slice()، concat()، spread از رایجترین انواع Copying methods به حساب میآیند.
از طرف دیگر متدهای Mutating در جاوااسکریپت مستقیماً آرایه اصلی را تغییر میدهند. وقتی از Mutating methods استفاده میکنید، تغییرات در خود آرایه اصلی ایجاد میشود. به عنوان مثال میتوان به آرایههای ()push()، pop()، splice اشاره کرد.
میدانستید با زبان برنامهنویسی جاوا اسکریپت میشود بازی هم توسعه داد؟
«جاوااسکریپت: ابزاری ساده برای توسعه بازیهای جذاب»
دو اشتباه رایج مبتدیان در استفاده از آرایهها در جاوااسکریپت
هنگام کار با آرایهها چندین اشتباه رایج وجود دارد که باید سعی کنید با اجتناب از آنها، از صحت و کارایی کد خود اطمینان حاصل کنید. در ادامه به برخی از این اشتباهات اشاره کردیم:
- دسترسی نادرست به عناصر آرایه: یکی از اشتباهات رایج دسترسی نادرست به عناصر آرایه است. در جاوا اسکریپت، شاخص های آرایه از 0 شروع میشود. بنابراین اولین عنصر یک آرایه در شاخص 0، عنصر دوم در شاخص 1 و … است. مبتدیان گاهی اوقات به اشتباه شروع به شمارش از 1 میکنند که منجر به دسترسی به عناصر اشتباه یا حتی برخورد با خطا میشود. برای مثال، اگر یک آرایه با 5 عنصر دارید، شاخصهای معتبر 0، 1، 2، 3 هستند. دسترسی به یک عنصر در شاخص 4 منجر به خطای خارج از محدوده بودن خواهد شد.
- فراموش کردن طول آرایه: یکی دیگر از اشتباهات رایج فراموش کردن این است که باید طول یک آرایه را در نظر گرفت. ویژگی length یک آرایه تعداد کل عناصر موجود در آن را نشان میدهد.
جمعبندی
همانطور که در آغاز این مقاله اشاره کردیم، آرایهها نقش مهمی در برنامهنویسی جاوا اسکریپت ایفا میکنند. بدون آرایهها ذخیره و دستکاری انواع دادهها با محدودیتهای زیادی مواجه خواهند شد. بنابراین در آموزش جاوااسکریپت یکی از سرفصلهای اصلی و مهم به حساب میآیند.
منبع: