JavaScript ਐਕਸੇਸ

JavaScript 数组用于在单一变量中存储多个值。

مثال

var cars = ["Saab", "Volvo", "BMW"];

ਆਪਣੇ ਅਨੁਸਾਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

什么是数组?

数组是一种特殊的变量,它能够一次存放一个以上的值。

如果您有一个项目清单(例如,汽车品牌列表),在单个变量中存储汽车品牌应该是这样的:

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 ਕੀਵਰਡ new

ਹੇਠ ਲਿਖੇ ਉਦਾਹਰਣ ਵੀ ਇਲੈਕਟ੍ਰੌਨ ਦਾ ਨਿਰਮਾਣ ਕਰੇਗਾ ਅਤੇ ਇਸ ਨੂੰ ਮੁੱਲ ਦੇ ਦੇਣਗੇ:

مثال

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] ਦੂਜਾ ਹੈ। ਇਲੈਕਟ੍ਰੌਨ ਸਿਰਲੇਖ ਮੁੱਢ ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ。

ਇਲੈਕਟ੍ਰੌਨ ਤੋਂ ਇਲੈਕਟ੍ਰੌਨ ਬਦਲਣਾ

ਇਹ ਵਾਕਿਆਂ ਕਾਰਜ ਕਰਦਾ ਹੈ ਕਿ ਇਹ cars ਵਿੱਚ ਪਹਿਲੇ ਇਲੈਕਟ੍ਰੌਨ ਦਾ ਮੁੱਲ ਬਦਲ ਦਿੰਦਾ ਹੈ:

cars[0] = "Opel";

مثال

var cars = ["Saab", "Volvo", "BMW"];
cars[0] = "Opel";
document.getElementById("demo").innerHTML = cars[0];

ਆਪਣੇ ਅਨੁਸਾਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਸਾਰੀ ਅਕਾਰ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨਾ

ਜੇਵੇਸਕਰਪਟ ਰਾਹੀਂ ਤੁਸੀਂ ਅਕਾਰ ਦੇ ਨਾਮ ਦੀ ਸਾਰੀ ਅਕਾਰ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹੋ

مثال

var cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars; 

ਆਪਣੇ ਅਨੁਸਾਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਅਕਾਰ ਆਬੋਹਵਾ

ਅਕਾਰ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਤਰ੍ਹਾਂ ਦਾ ਆਬੋਹਵਾ ਹੈ। ਜੇਵੇਸਕਰਪਟ ਵਿੱਚ ਅਕਾਰ ਦੀ ਵਰਤੋਂ typeof ਅਪਣੇ ਆਪ ਵਾਪਸ "object" ਦਿੰਦੇ ਹਨ。

ਪਰ ਜੇਵੇਸਕਰਪਟ ਦੇ ਅਕਾਰ ਨੂੰ ਬਿਨਾਂ ਕਿਸੇ ਅਕਾਰ ਦੇ ਵਰਤੇ ਵਰਤਣਾ ਬਿਹਤਰ ਹੈ。

ਅਕਾਰ ਵਰਤਣਾنمبرਆਪਣੇ 'ਇਲਾਕੇ' ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਲਈ ਵਰਤਣਾ। ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ,person[0] ਬਿਲ ਵਾਪਸ ਦਿੰਦਾ ਹੈ:

ਅਕਾਰ:

var person = ["Bill", "Gates", 62];

ਆਪਣੇ ਅਨੁਸਾਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਆਬੋਹਵਾ ਵਰਤਣਾਨਾਮਆਪਣੇ 'ਮੈਂਬਰ' ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਲਈ ਵਰਤਣਾ। ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ,person.firstName ਬਿਲ ਵਾਪਸ ਦਿੰਦਾ ਹੈ:

ਆਬੋਹਵਾ:

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];

ਆਪਣੇ ਅਨੁਸਾਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਅਕਾਰ ਦੇ ਇਲਾਕੇ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨਾ

ਅਕਾਰ ਦੀ ਪਰਿਭਾਸ਼ਾ ਦੀ ਸਭ ਤੋਂ ਸੁਰੱਖਿਅਤ ਤਰੀਕਾ ਹੈ ਵਰਤਣਾ "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>";
} 

ਆਪਣੇ ਅਨੁਸਾਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

شما همچنین می‌توانید از 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 درجیت درجیت بہم دیتا ہے

ਆਪਣੇ ਅਨੁਸਾਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

آرائیلیس اور آبجیکٹ کی فرق

جاوااسکریپٹ میں،آرائیلیساستعمال کریجئےنمبر نمبر

جاوااسکریپٹ میں،آبجیکٹاستعمال کریجئےنام نمبر

آرائیلیس یونیک نوعیت کا آبجیکٹ ہوتا ہے، جس میں نمبر نمبر کا استعمال ہوتا ہے。

کیوں آرائیلیس کا استعمال کردا جاتا ہے، کیا کسی آبجیکٹ کا استعمال کردا جاتا ہے؟

  • جاوااسکریپٹ آرائیلیس نہایت آرائیلیس کا استعمال نہیں کردا
  • اگر چاہیئے کہ عناصر کا ناماسٹرنگ (تکریب)تو اس کا استعمال کریجئےآبجیکٹ
  • اگر چاہیئے کہ عناصر کا نامنمبرتو اس کا استعمال کریجئےآرائیلیس

new Array() سے بچیجئے

جاوااسکریپٹ کا آرائیلیس بنانے والا درجی کا استعمال نہ کریں new Array()

کریپو [] بجائے اس سے!

ایسے دو مختلف جملوں سے نئی خالی آرائیلیس بنایا جاتا ہے:

var points = new Array();         // بدتر
var points = [];                  // بہتر

ایسے دو مختلف جملوں سے چھتارا آرائیلیس بنایا جاتا ہے جس میں چھ نرملیعداد شامل ہیں:

var points = new Array(40, 100, 1, 5, 25, 10); // بدتر
var points = [40, 100, 1, 5, 25, 10];          // بہتر

ਆਪਣੇ ਅਨੁਸਾਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

نئی کلمات کلیدی کو کد کو پیچیدہ بنادیتا ہیں، ساتھ ہی ان کچھ غیر متوقع نتائج بھی پیدا کر دیتا ہیں:

var points = new Array(40, 100);  // دو عناصر والا آرائیلیس بنایا جاتا ہے (40 اور 100)

اگر میں کوئی عناصر کو حذف کر دا تو کیا ہوگا؟

var points = new Array(40);       // 40 جگہوں والا آرائیلیس بیکار عناصر کے ساتھ بنایا جاتا ہے!!!

ਆਪਣੇ ਅਨੁਸਾਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

کیوں آرائیلیس کا پتہ لگایا جاسکتا ہے

معمولی مسئلہ یہ ہے: میں کوئی جانی سکتا ہوگا کہ کیا وارئیبل آرائیلیس ہے یا نہیں؟

مسئلہ یہ ہے کہ جاوااسکریپٹ کا اپریشن typeof درجیت “اوبجیکٹ“:”

var fruits = ["Banana", "Orange", "Apple", "Mango"];
typeof fruits;             // اوبجیکٹ درجیت بہم دیتا ہے

ਆਪਣੇ ਅਨੁਸਾਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

typeof اپریشن درجیت اوبجیکٹ بہم دیتا ہے، کیونکہ جاوااسکریپٹ کا آرائیلیس اوبجیکٹ کا حصہ ہوتا ہے。

解决方案 1:

为了解决这个问题,ECMAScript 5 定义了新方法 Array.isArray()

Array.isArray(fruits);     // 返回 true

ਆਪਣੇ ਅਨੁਸਾਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

此方案的问题在于 ECMAScript 5 不支持老的浏览器

解决方案 2:

创建您自己的 isArray() 函数以解决此问题:

function isArray(x) {
    return x.constructor.toString().indexOf("Array") > -1;
}

ਆਪਣੇ ਅਨੁਸਾਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

假如参数为数组,则上面的函数始终返回 true。

或者更准确的解释是:假如对象原型包含单词 "Array" 则返回 true。

解决方案 3:

假如对象由给定的构造器创建,则 instanceof 运算符返回 true:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits instanceof Array     // ਵਾਸਤਵਿਕ true

ਆਪਣੇ ਅਨੁਸਾਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ