جاوا اسکریپت آرائی
- پچھلے صفحے کو دیکھیں JS نمبر خاصیت
- بعد کا صفحہ JS آرائی کی متد
JavaScript 数组用于在单一变量中存储多个值。
什么是数组?
数组是一种特殊的变量,它能够一次存放一个以上的值。
如果您有一个项目清单(例如,汽车品牌列表),在单个变量中存储汽车品牌应该是这样的:
var car1 = "Saab"; var car2 = "Volvo"; var car3 = "BMW";
不过,假如您希望遍历所有汽车并找到一个特定的值?假如不是三个汽车品牌而是三百个呢?
解决方法就是数组!
数组可以用一个单一的名称存放很多值,并且还可以通过引用索引号来访问这些值。
创建数组
使用数组文本是创建 JavaScript 数组最简单的方法。
语法:
var array-name = [item1, item2, ...];
مثال
var cars = ["Saab", "Volvo", "BMW"];
空格和折行并不重要。声明可横跨多行:
مثال
var cars = [ "Saab", "Volvo", "BMW"
آخری عنصر کے بعد کاما کو لکھنا نہیں چاہئیے (مثلاً "BMW",)
اس میں کسی بھی بروسر میں کھلنے کی مشکل ممکن ہو سکتی ہے
استعمال کرکے JavaScript کی کلیدی الفاظ
ایک اور مثال، جو بائیکن بناکر اس کو قیمتی دینا ہوگا:
مثال
var cars = new Array("Saab", "Volvo", "BMW");
مذکورہ دو مثال کا اثر ایک ساتھی ہیں، لہذا استعمال نہ کریں new Array()
.
کم پیچیدگی، خواندنی اور کارکردگی کی رفتار کی وجہ سے، پہلین طریقے کو استعمال کریں (بائیکن لکچر میتھد)
بائیکن عنصر کو منسوب کرنا
ہم بائیکن عنصر کو منسوب کرنے کے لئے استعمال کرتے ہیںاشاریہ نمبر (انداز نمبر)کسی بائیکن عنصر کو منسوب کرنے کے لئے استعمال کی جاتی ہیں。
یہ سطور cars میں پہلے عنصر کی قیمتی لیکر آتا ہے:
var name = cars[0];
یہ سطور cars میں پہلے عنصر کو تبدیل کردہ ہیں:
cars[0] = "Opel";
مثال
var cars = ["Saab", "Volvo", "BMW"]; document.getElementById("demo").innerHTML = cars[0];
[0] جو بائیکن میں پہلے عنصر کا ہوگا، [1] دوسرے عنصر کا ہوگا۔ بائیکن کا اشاریہ 0 سے شروع ہوتا ہے。
مجملات کی تبدیل
یہ سطور cars میں پہلے عنصر کا قیمتی تبدیل کردہ ہیں:
cars[0] = "Opel";
مثال
var cars = ["Saab", "Volvo", "BMW"]; cars[0] = "Opel"; document.getElementById("demo").innerHTML = cars[0];
پورے تائیلی تک رسائی حاصل کریں
JavaScript کے ذریعے، آپ تائیلی کے نام کو استعمال کرکے پورے تائیلی تک رسائی حاصل کرسکتے ہیں:
مثال
var cars = ["Saab", "Volvo", "BMW"]; document.getElementById("demo").innerHTML = cars;
تائیلی اشیاء کی شکل میں ہوتی ہیں
تائیلی ایک خصوصی نوعیت کی اشیاء ہوتی ہیں، JavaScript میں تائیلی کا استعمال typeof
آپریٹر تائیلی کو "object" کی شکل میں بازگشت دیتا ہے。
لیکن، JavaScript کی تائیلی کو بہترین طور پر تائیلی کی شکل میں بیان کیا جاسکتا ہے。
تائیلی استعمال میںاعدادسے اس کے "عناصر" تک رسائی حاصل کریں، اس مثال میں،person[0]
Bill: return
تائیلی:
var person = ["Bill", "Gates", 62];
اشیاء استعمال میںنامسے اس کے "اعضو" تک رسائی حاصل کریں، اس مثال میں،person.firstName
Bill: return
اشیاء:
var person = {firstName:"Bill", lastName:"Gates", age:19};
تائیلی عناصر اشیاء کی شکل میں ہوتی ہیں
JavaScript کی متغیر اشیاء کی شکل میں ہوتی ہیں، تائیلی ایک خصوصی نوعیت کی اشیاء ہوتی ہے。
اس لئے آپ ایک ہی تائیلی میں مختلف اقسام کی متغیروں کو محفوظ کرسکتے ہیں。
آپ تائیلی میں اشیاء محفوظ کرسکتے ہیں، آپ تائیلی میں فونکشن محفوظ کرسکتے ہیں، آپ تائیلی میں تائیلی محفوظ کرسکتے ہیں:
myArray[0] = Date.now; myArray[1] = myFunction; myArray[2] = myCars;
تائیلی کی صفتوں اور متد
JavaScript کی تائیلی کی حقیقی طاقت تائیلی کی صفتوں اور متد میں پوشیدہ ہوتی ہے:
مثال
var x = cars.length; // length صفت عناصر کی تعداد بازگشت دیتا ہے var y = cars.sort(); // sort() متد تائیلی کو ترتیب دیتا ہے
آپ کسی بھی بعد میں تائیلی کے متد سیکھیں گے。
length صفت
length
صفت تائیلی کی لمبائی بازگشت دیتا ہے (تائیلی عناصر کی تعداد).
مثال
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.length; // fruits کی لمبائی 4 ہے
length
صفت ہمیشہ اعلیٰ ترین تائیلی اشاریہ سے زیادہ ہوتی ہیں (نشان موقف).
پہلی تائیلی عناصر تک رسائی حاصل کریں
مثال
fruits = ["Banana", "Orange", "Apple", "Mango"]; var first = fruits[0];
آخری تائیلی عناصر تک رسائی حاصل کریں
مثال
fruits = ["Banana", "Orange", "Apple", "Mango"]; var last = fruits[fruits.length - 1];
تائیلی کے عناصر کا پیمانہ لائیں
مجرب سیکل تائیلی کا سب سست طریق یہ ہے کہ آپ "چرخه:
"چرخه:"
مثال
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>"; }
شما همچنین میتوانید از Array.foreach()
توابع:
مثال
var fruits, text; fruits = ["Banana", "Orange", "Apple", "Mango"]; text = "<ul>"; fruits.forEach(myFunction); text += "</ul>"; function myFunction(value) { text += "<li>" + value + "</li>"; }
افزودن عنصر آرایه
بهترین روش برای اضافه کردن عنصر جدید به آرایه استفاده از push()
روش:
مثال
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.push("Lemon"); // یک عنصر جدید (Lemon) به fruits اضافه میشود
همچنین میتوانید از length
ویژگی برای اضافه کردن عنصر جدید به آرایه:
مثال
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits[fruits.length] = "Lemon"; // یک عنصر جدید (Lemon) به fruits اضافه میشود
اخطار!
افزودن عنصر با بالاترین شماره ممکن میتواند در آرایه سوراخهای تعریف نشده ایجاد کند:
مثال
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits[6] = "Lemon"; // یک عنصر جدید (Lemon) به fruits اضافه میشود
آرایه مرتبط
عناصر بسیاری از برنامهنویسی از آرایههای نامگذاری شده پشتیبانی میکنند.
آرایههایی که شمارههای نامگذاری شده دارند به عنوان آرایههای مرتبط (یا توزیع شده) شناخته میشوند.
جاوااسکریپت پشتیبانی نمیشودشمارههای نامگذاری شده استفاده شوند.
در جاوااسکریپت، آرایهها فقط میتوانند باشمارندههای عددی.
مثال
var person = []; person[0] = "Bill"; person[1] = "Gates"; person[2] = 62; var x = person.length; // person.length 3 برمیگردد var y = person[0]; // person[0] به "Bill" برمیگردد
اخطار!
اگر شما از شمارههای نامگذاری شده استفاده کنید، جاوااسکریپت آرایه را به یک شیء استاندارد تبدیل میکند.
بعد از آن، تمام روشها و ویژگیهای آرایهها نتایج نادرستی تولید میکنند.
مثال:
var person = []; person["firstName"] = "Bill"; person["lastName"] = "Gates"; person["age"] = 62; var x = person.length; // person.length 0 برمیگردد var y = person[0]; // person[0] undefined برمیگردد
تفاوت بین آرایه و شیء
در JavaScript،آرایهاستفاده میشودشمارندههای عددی.
در JavaScript،اجساماستفاده میشودشمارندههای نامگذاری شده.
آرایهها نوع خاصی از شیءها هستند که دارای شمارندههای عددی هستند.
چه زمانی باید از آرایه استفاده کرد و چه زمانی از شیء استفاده کرد؟
- JavaScript آرایههای مرتبط را پشتیبانی نمیکند
- اگر میخواهید نام عناصرزبان (متنی)باید ازاجسام.
- اگر میخواهید نام عناصراعدادباید ازآرایه.
از new Array() خودداری کنید
نیازی به استفاده از سازنده آرایههای داخلی JavaScript نیست new Array()
.
از []
به جای آن!
دو عبارت متفاوت زیر یک آرایه جدید خالی به نام points ایجاد میکنند:
var points = new Array(); // بدتر var points = []; // بهتر
دو عبارت متفاوت زیر یک آرایه جدید با شش عدد را ایجاد میکنند:
var points = new Array(40, 100, 1, 5, 25, 10); // بدتر var points = [40, 100, 1, 5, 25, 10]; // بهتر
new
کلمات کلیدی تنها باعث پیچیدگی کد میشوند. همچنین ممکن است نتایج غیرمنتظرهای ایجاد کنند:
var points = new Array(40, 100); // آرایهای با دو عنصر (40 و 100) ایجاد میشود
اگر یکی از عناصر را حذف کنیم چه اتفاقی میافتد؟
var points = new Array(40); // آرایهای با 40 عنصر تعریف نشده ایجاد میشود!!!
چگونه آرایه را شناسایی کنم
مشکل رایج این است: چگونه میتوانم بفهمم که یک متغیر آرایه است یا خیر؟
مشکل در محاسبات JavaScript است typeof
برمیگردد "اجسام
":"
var fruits = ["Banana", "Orange", "Apple", "Mango"]; typeof fruits; // برمیگردد object
نوع محاسباتی "اجسام" برمیگردد، زیرا آرایههای JavaScript جزء اجسام هستند.
حل کی سوال 1:
اس مسئلہ کو حل کرنے کے لئے ECMAScript 5 نئی طریق کا تعارف کیا گیا Array.isArray()
:
Array.isArray(fruits); // برگشت صحیح
اس سکیم کا مسئلہ یہ ہے کہ ECMAScript 5 پرانی براؤزر کو پشتیبند نہیں کیا جاتا.
حل کی سوال 2:
اپنی خود کی isArray()
یہ فنکشن اس سوال کو حل کرتا ہے:
function isArray(x) { return x.constructor.toString().indexOf("Array") > -1; }
اگر پارامتر آرائی کا ہو تو، بالا فنکشن ہمیشہ برگشت صحیح دے گا。
یا اور دقیق تر توضیح دیکھیں: اگر اشیاء کا اصل "Array" لفظ شامل ہو تو برگشت صحیح ہوگا。
حل کی سوال 3:
اگر اشیاء دیے گئے کنسٹرکٹر سے قائم ہوئی ہوئی تو instanceof عملگر برگشت صحیح:
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits instanceof Array // برگشت صحیح
- پچھلے صفحے کو دیکھیں JS نمبر خاصیت
- بعد کا صفحہ JS آرائی کی متد