آرایه ها در JavaScript
یادگیری JavaScriptآرایه های جاوا اسکریپت برای ذخیره چندین متغیر در یک متغیر استفاده می شوند.
var cars = ["Saab", "Volvo", "BMW"];
مشاهده مثالآرایه چیست؟
آرایه یک متغیر خاص است که می تواند بیش از یک مقدار را در یک زمان نگه دارد.
اگر شما یک لیست از اقلام (به عنوان مثال یک لیست از نام خودرو) داشته باشید، ذخیره سازی خودروها در متغیرهای واحد می تواند به صورت زیر باشد:
var car2 = "Volvo";
var car3 = "BMW";
با این حال، اگر بخواهید از طریق اتومبیل حلقه بزنید و یک خاصیت پیدا کنیدراه حل یک آرایه است!
یک آرایه می تواند مقادیر زیادی را با یک نام نگه دارد، و شما می توانید با ارجاع به یک عدد شاخص به مقادیر دسترسی داشته باشید.
ایجاد یک آرایه
با استفاده از یک آرگومان آرایه ، ساده ترین راه ایجاد یک آرایه در جاوااسکریپت است.
ساختار:
var cars = ["Saab", "Volvo", "BMW"];
مشاهده مثالفضاهای و خطوط شکسته مهم نیستند. یک اعلامیه می تواند خطوط چندگانه داشته باشد:
var cars = [
"Saab",
"Volvo",
"BMW"
];
مشاهده مثالقرار دادن کاما بعد از آخرین عنصر (مانند "BMW")، در مرورگرها متناقض است.
IE 8 و قبل از آن قبول نخواهد کرد.
با استفاده از کلید واژه جدید جاوا اسکریپت
مثال زیر نیز یک آرایه ایجاد می کند و مقادیر را به آن اختصاص می دهد:
var cars = new Array("Saab", "Volvo", "BMW");
مشاهده مثالدو نمونه فوق دقیقا همانند هستند. نیازی به استفاده از Array جدید وجود ندارد ().
برای سادگی، خوانایی و سرعت اجرای، از اولین (روش متمایز آرایه) استفاده کنید.
دسترسی به عناصر یک آرایه
شما با ارجاع به شماره شاخص به یک عنصر آرایه اشاره می کنید.
این بیانیه به ارزش اولین عنصر در اتومبیل دسترسی پیدا می کند:
این بیانیه اولین عنصر در اتومبیل را اصلاح می کند:
var cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars[0];
مشاهده مثالنکته: [0] اولین عنصر در یک آرایه است. [1] دوم است شاخص های آرایه با 0 شروع می شوند.
دسترسی کامل به آرایه
با جاوا اسکریپت، آرایه کامل می تواند با ارجاع به نام آرایه قابل دسترسی باشد:
var cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars;
مشاهده مثالآرایه ها اشیاء هستند
آرایه ها یک نوع خاص از اشیا هستند. عملگر typeof در جاوا اسکریپت، "شی" را برای آرایه ها باز می گرداند.
اما، آرایه های جاوا اسکریپت بیشتر به عنوان آرایه ها توصیف می شوند.
آرایه ها برای دسترسی به عناصر خود از اعداد استفاده می کنند. در این مثال، person[0] نتیجه John را می دهد:
var person = ["John", "Doe", 46];
مشاهده مثالاشیاء برای دسترسی به "اعضا" از نام استفاده می کنند. در این مثال، person.firstName نتیجه جان را برمی گرداند
var person = {firstName:"John", lastName:"Doe", age:46};
مشاهده مثالعناصر آرایه می توانند اشیا باشند
متغیرهای جاوا اسکریپت می توانند اشیا باشند آرایه ها انواع خاصی از اشیا هستند.
به همین دلیل شما می توانید متغیرهایی از انواع مختلف در همان آرایه داشته باشید.
شما می توانید اشیاء را در آرایه داشته باشید. شما می توانید توابع در آرایه داشته باشید. شما می توانید آرایه ها را در آرایه داشته باشید
myArray[1] = myFunction;
myArray[2] = myCars;
خواص آرایه و متد ها
قدرت واقعی آرایه های جاوااسکریپت ویژگی های آرایه و روش های ساخته شده است:
var y = cars.sort(); // The sort() method sorts arrays
روش های آرایه در فصل های بعدی پوشش داده می شوند.
طول ویژگی (تعداد خصوصیات ارایه)
خصوصیات طول یک آرایه (تعداد عناصر آرایه) را نشان می دهد.
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.length; // the length of fruits is 4
مشاهده مثالحلقه عناصر آرایه
بهترین راه برای حل کردن آرایه، استفاده از حلقه "for" است:
var fruits, text, fLen, i;
fruits = ["Banana", "Orange", "Apple", "Mango"];
fLen = fruits.length;
text = "<ul>";
for (i = 0; i < fLen; i++) {
text += "<li>" + fruits[i] + "</li>";
}
مشاهده مثالاضافه کردن عناصر آرایه
ساده ترین راه برای اضافه کردن یک عنصر جدید به آرایه، استفاده از روش فشار است:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Lemon"); // adds a new element (Lemon) to fruits
مشاهده مثالعنصر جدید نیز می تواند به یک آرایه با استفاده از طول آرایه اضافه شود:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[fruits.length] = "Lemon"; // adds a new element (Lemon) to fruits
مشاهده مثالهشدار!
اضافه کردن عناصر با شاخص های بالا می تواند مشکلی نامشخص در آرایه ایجاد کند:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[6] = "Lemon"; // adds a new element (Lemon) to fruits
مشاهده مثالآرایه های انجمنی
بسیاری از زبان های برنامه نویسی آرایه ها را با شاخص ها پشتیبانی میکنند.
آرایه ها با نام های شاخص آرایه های انجمنی (یا هش ها) نامیده می شوند.
جاوا اسکریپت از آرایه ها با شاخص های نامگذاری پشتیبانی نمی کند.
در جاوا اسکریپت، آرایه ها همیشه از شاخص های عددی استفاده می کنند.
var person = [];
person[0] = "John";
person[1] = "Doe";
person[2] = 46;
var x = person.length; // person.length will return 3
var y = person[0]; // person[0] will return "John"
مشاهده مثالهشدار!
اگر از شاخص ها نام استفاده می کنید، جاوا اسکریپت آرایه را به شیء استاندارد باز تعریف می کند.
پس از آن، برخی از روش ها و خواص آرایه نتایج اشتباهی را تولید خواهند کرد.
var person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person["age"] = 46;
var x = person.length; // person.length will return 0
var y = person[0]; // person[0] will return undefined
مشاهده مثالتفاوت بین آرایه ها و اشیاء
در جاوا اسکریپت، آرایه ها از شاخص های عددی استفاده می کنند.
در جاوا اسکریپت، اشیاء به عنوان شاخص استفاده می شود.
نکته: آرایه ها یک نوع خاص از اشیاء هستند که دارای شاخص های عددی هستند.
هنگام استفاده از آرایه ها. هنگام استفاده از اشیاء
- جاوا اسکریپت از آرایه های انجمنی پشتیبانی نمی کند.
- شما باید از اشیاء استفاده کنید، زمانی که می خواهید نام عنصر را رشته (متن) باشد.
- شما می بایست از آرایه ها استفاده کنید، زمانی که می خواهید نام عنصر اعداد باشد.
اجتناب از آرایه جدید ()
نیازی نیست که از آرایه Array جدید () ساخته شده در آرایه ی جاوا اسکریپت استفاده کنید.
به جای آن از [] استفاده کنید.
var points = []; // Good
این دو عبارت مختلف، هر دو یک آرایه جدید حاوی 6 عدد ایجاد می کنند:
var points = new Array(40, 100, 1, 5, 25, 10); // Bad
var points = [40, 100, 1, 5, 25, 10]; // Good
مشاهده مثالکلید واژه جدید تنها کد را پیچیده می کند. همچنین می تواند نتایجی غیر منتظره ای ایجاد کند:
اگر یکی از عناصر را حذف کنم چه می شود؟
var points = new Array(40); // Creates an array with 40 undefined elements !!!!!
مشاهده مثالچگونه یک آرایه را شناسایی کنیم
سوال رایج این است: چگونه میتوانم بدانم که آیا یک متغیر آرایه است؟
مشکل این است که نوع عملگرtypeof عملگر "شی" را باز می کند:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
typeof fruits; // returns object
مشاهده مثالعملگر typeof را برمی گرداند، زیرا یک آرایه جاوااسکریپت یک شی است.
راه حل 1:
برای حل این مشکل، ECMAScript 5 یک روش جدید Array.isArray () را تعریف می کند:
Array.isArray(fruits); // returns true
مشاهده مثالمشکل این راه حل این است که ECMAScript 5 در مرورگرهای قدیمی پشتیبانی نمی شود.
راه حل 2:
برای حل این مشکل می توانید تابع isArray () خود را ایجاد کنید:
function isArray(x) {
return x.constructor.toString().indexOf("Array") > -1;
}
مشاهده مثالاگر آرگومان یک آرایه باشد، تابع بالا همیشه درست خواهد شد.
یا دقیق تر: اگر نمونه اولیه شیء حاوی کلمه "Array" باشد، درست می شود.
راه حل 3:
عملگر instanceof اگر یک شی توسط یک سازنده داده شده درست true را برمی گرداند:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits instanceof Array // returns true
مشاهده مثال
نظر شما
>