‎‎آرايه هاي جاوااسكريپتJavaScript Arrays -‎

Previous >    <Next  

‎مطالب آرايه ها در چندين بخش دنباله هم ارائه مي شود .بخش اول تحت عنوانJavaScript Arrays در ‎صفحه ارائه ميشود .مابقي مطابق جدول زير:

‎‎عنوان بخش ‎‎لينك بخش
‎‎متدهاي آرايهJs Array Methods -‎ JS Array Methods
‎‎سورت آرايهJS array Sort -‎ JS Array Sort
‎‎تكرار در آرايهJS Array Iteration -‎ JS Array Iteration
‎‎آرايه ثابتJS Array Const -‎ JS Array Const

‎‎يك آرايه متغير خاصي است كه براي نگهداري چندين مقدار استفاده ميشود.

‎‎مثال ـ آرايه

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

--(go to editor for change code and run)

‎‎چرا آرايه‎Why Use Arrays?‎ -‎

‎اگرليستي از آيتم وجود داشته باشد، مثلا ليستي از نام ماشين ها، براي ذخيره سازي آنها در ‎متغيرهاي منفرد بفرم زير اقدام ميشود.

let car1 = "Saab";
let car2 = "Volvo";
let car3 = "BMW"; 

‎در اين صورت اگر بخواهيم با حلقه آنهارا دور برنيم ومورد خاصي را پيدا نمائيم چه .اگر ليست ‎فوق 300 ماشين باشد و . ...راه حل مشكل آرايه است.

‎يك آرايه مقادير مختلفي را ميتواند تحت يك نام ذخيره نمايد .با مراجعه توسط شماره خاص به ‎آن به مقادير دسترسي پيدا ميكنيم.

‎‎ايجاد يك آرايهCreate an Array -‎

‎‎ساده ترين راه براي ايجاد آرايه در جاوااسكريپت، استفاده از آرايه ليترالي است.

‎‎نحوي ايجادSyntax -‎

‎const array_name=[item1,item2,...]‎

‎‎عمل رايج براي ايجاد آرايه استفاده از كي و.رد‎const‎ است .

‎براي اطلاعات بيشتر در مورد كي ورد‎const‎ به بخش JS Array Const ‎مراجعه كنيد.

‎‎مثال ـ ايجاد آرايه

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

--(go to editor for change code and run)

‎‎فضاي خالي وشكست خط مهم نيست، يك اعلام ميتواند شامل چندين خط باشد.

‎‎مثال ـ اعلام آرايه در چند خط

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

--(go to editor for change code and run)

‎ميتوان آرايه را بدون مقدار ابتدا ايجاد نمود ومقادير عناصر آنرا تحت دستوراتي ديگري اعلام ‎كرد .مطابق مثال بعدي

‎‎مثال ـ ايجاد آرايه بدون مقدار، ومقدار دهي با دستورات ديگر.

const cars = [];
cars[0]= "Saab";
cars[1]= "Volvo";
cars[2]= "BMW";

--(go to editor for change code and run)

‎‎ايجاد آرايه باكي وردnew

‎‎در مثال زيربا كي ورد‎new‎ همچنين ايجاد آرايه با مقادير شده ا ست .

‎‎مثال ـ ايجاد آرايه

const cars = new Array("Saab", "Volvo", "BMW");

--(go to editor for change code and run)

‎دومثال بالا دقيقا مشابه هم ميباشند .براي ايجاد آرايه ضرورتي ندارد كه از ‎ new Array()‎‎‎استفاده نمائيد .

‎‎براي سادگي ، خوانائي و سرعت اجرا از فرم آرايه ليترالي استفاده نمائيد.

‎‎دسترسي به عناصرآرايهAccessing Array Elements -‎

‎‎با مراجعه به شماره فهرست‎(index number)‎ عنصر آرايه به آن ميتوان دسترسي پيداكرد.

‎‎مثال ـ دسترسي به عنصر آرايه

const cars = ["Saab", "Volvo", "BMW"];
let car = cars[0];

--(go to editor for change code and run)

‎توجه ـ شاخص يا انديس آرايه براي عناصر از صفر شروع ميشود .اولين عنصر‎[0] ودومين آن ‎[1]‎‎و ...

‎‎تغيير يك عنصرآرايهChanging an Array Element -‎

‎‎‎تغيير اولين عنصر آرايهcars مطابق زير است.

‎cars[0]=‎"Opel‎";‎

‎‎مثال ـ تغيير عنصر آرايه

const cars = ["Saab", "Volvo", "BMW"];
cars[0] = "Opel";

--(go to editor for change code and run)

‎‎تبديل آرايه به رشتهConverting an Array to a String -‎

‎متد‎toString()‎‎ جاوااسكريپت يك آرايه را به رشته تبديل ميكند . نحوي ‎استفاده مطابق زيراست.

‎array_name.tostring()

‎‎مثال ـ نمونه تبديل آرايه به رشته

const fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString();

--(go to editor for change code and run)

‎‎دسترسي كامل به آرايهAcces the Full Array -‎

‎‎براي دسترسي كامل به آرايه فقط نام آن ذكر ميشود.

‎‎مثال ـ نمونه دسترسي كامل به آرايه

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

--(go to editor for change code and run)

‎‎آرايه ها شئ اندArrays are Objects -‎

‎آرايه ها يك نوع حاصي از اشياء جاوااسكريپت هستند .اگر آنها با‎typeof‎ ارزيابي ‎شوند نتيجه برگشتي‎"object‎"‎ميباشد .

‎اما آرايه هاي جاوااسكريپت به بهترين روش بعنوان آرايه مطرح يا توصيف ميشوند .در دسترسي به ‎آنها از اعداد يا شماره عنصر استفاده ميشود كه فرمت شئي ندارد .نمونه‎person[0]

‎‎مثال ـ نوع آرايه اي

const person = ["John", "Doe", 46];

--(go to editor for change code and run)

‎در شئ ها از نام شئ‎(names)‎ براي دسترسي به عناصر ‎"members‎"‎استفاده ميشود . ‎در مثال بعدي‎person.firstName‎ كه فرمت شئئ داردJhon را برگشت ميدهد .

‎‎مثال ـ آرايه در فرم شئي‎(object)

const person = {firstName:"John", lastName:"Doe", age:46};

--(go to editor for change code and run)

‎‎عناصر آرايه ميتوانند شئ باشندArray Elements Can Be Objects -‎

‎متغيرهاي جاوااسكريپت ميتوانند شئ باشند .آرايه ها نوع خاصي از اشياءهستند .بهمين دليل ميتوان ‎متغير بانوع مختلف در يك آرايه داشت.

‎ميتوان باتوجه بمطلب فوق، شئ در داخل آرايه داشت .يا تابع در آن قرارداد .يا آرايه در آرايه ‎ايجاد كرد .نمونه ريرا توجه نمائيد.

myArray[0] = Date.now;
myArray[1] = myFunction;
myArray[2] = myCars;

‎‎ويژگي ها ومتدهاي آرايهArray Properties and Methods -‎

‎قدرت واقعي آرايه ها در جاوااسكريپت داشتن ويژگي ومتدهاي پيش بيني شده يا داخلي آنهاست. ‎بدين معني كه در جاوااسكريپت اين موارد ايجاد شده كه ميتوان استفاده كرد .نمونه زير:

cars.length   // Returns the number of elements
cars.sort()   // Sorts the array 

‎‎متدهاي آرايه در فصل بعدي پوشش داده شده است.

‎‎ويژگي طولThe Length Property -‎

‎‎ويژگي‎length‎ آرايه، تعداد عناصر آنرا برگشت ميدهد .

‎‎مثال ـ ويژگيlength آرايه

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let length = fruits.length;

--(go to editor for change code and run)

‎‎در ويژگي‎length‎ هميشه عدد برگشتي يكي ازآخرين انديس آرايه بيشتر است.

‎‎دسترسي به اولين عنصر آرايهAccessing the First Array Element -‎

‎‎مثال ـ نمونه دسترسي به اولين عنصر آرايه

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[0];

--(go to editor for change code and run)

‎‎دسترسي به آخرين عنصر آرايهAccessing the Last Array Element -‎

‎‎مثال ـ نمونه دسترسي به عنصر آخر آرايه

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[fruits.length - 1];

--(go to editor for change code and run)

‎‎حلقه زدن در آرايهLooping Array Elements -‎

‎‎يكي از روش هاي دور زدن روي عناصرآرايه با حلقه‎for‎ است .

‎‎مثال ـ حلقهfor روي آرايه

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fLen = fruits.length;

let text = "<ul>";
for (let i = 0; i < fLen; i++) {
  text += "<li>" + fruits[i] + "</li>";
}
text += "</ul>";

--(go to editor for change code and run)

‎همچنين ميتوان براي دور زدن در آرايه از‎Array.forEach()‎‎ استفاده كرد ‎مطابق مثال زير:

const fruits = ["Banana", "Orange", "Apple", "Mango"];

let text = "<ul>";
fruits.forEach(myFunction);
text += "</ul>";

function myFunction(value) {
  text += "<li>" + value + "</li>";
} 

--(go to editor for change code and run)

‎‎افزايش عنصر يا آيتم در آرايهAdding Array Elements -‎

‎آسانترين روش براي اضافه نمودن عنصر به آرايه استفاده از متد‎push()‎‎ ‎ميباشد.

‎‎مثال ـ افزايش عنصري به آرايه

 const fruits = ["Banana", "Orange", "Apple"];
fruits.push("Lemon");  // Adds a new element (Lemon) to fruits 

--(go to editor for change code and run)

‎‎با استفاده از ويژگي‎length‎ ميتوان عنصرجديدي به آرايه اضافه كرد .

‎‎مثال ـ افرايش عنصر در آرايه با ويژگي‎length

 const fruits = ["Banana", "Orange", "Apple"];
fruits[fruits.length] = "Lemon";  // Adds "Lemon" to fruits 

--(go to editor for change code and run)

‎هشدار ـ افزودن عنصر در آرايه با انديس يا شاخص بزرگتر ازlength آرايه حفرهاي تعريف نشده اي ‎ايجاد ميكند.

‎‎مثال ـ ايجاد حفره در آرايه

 const fruits = ["Banana", "Orange", "Apple"];
fruits[6] = "Lemon";  // Creates undefined "holes" in fruits 

--(go to editor for change code and run)

‎‎آرايه انجمنيAssociatative Arrays -‎

‎تعدادي از زبانهاي برنامه نويسي درآرايه انديس هاي با نام را پشتيباني ميكنند .يعني بجاي ‎انديس عددي ،از نام استفاده ميكنند.آرايه هاي انديس بانام را آرايه انجمنيAssociatative ‎مي نامند.

‎جاوااسكريپت اين نوع آرايه را پشتيباني نميكند .انديس آرايه در جاوااسكريپت عددي صحيح ‎مثبت وصفراست.

‎‎مثال ـ آرايه انديس عددي

 const person = [];
person[0] = "John";
person[1] = "Doe";
person[2] = 46;
person.length;    // Will return 3
person[0];        // Will return "John" 

--(go to editor for change code and run)

‎هشدار ـ اگر در آرايه انديس نامي استفاده نمائيد، جاوااسكريپت آرايه را بصورت شئ دوباره ‎تعريف ميكند .بعداز اين اتفاق بعضي از ويژگي ومتدهاي نتيجه نادرست ايجاد ميكنند.

‎‎مثال ـ استفاده نادرست ازآرايه باانديس نامي

 const person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person["age"] = 46;
person.length;     // Will return 0
person[0];    

--(go to editor for change code and run)

‎‎تفاوت بين آرايه و شئThe Difference Between Arrays and Objects -‎

‎‎در جاوااسكريپت آرايه ها داراي انديس عددي اند، اما اشياء مشابه آرايه داراي انديس نامي هستند

‎‎آرايه ها نوع خاصي از اشياء هستند كه شاخص هاي شماره گذاري شده استفاده ميكنند.

‎When to Use Arrays . When to use Objects‎

‎‎مواقع استفاده ازآرايه وشئي

‎‎آرايه جديد جاواسكريپتJavaScript new Array()‎

‎جاوااسكريپت داراي يك سازنده جديد داخلي‎ new Arrar()‎‎ براي آرايه ‎دارد .از اين با اطمينان بجاي‎[ ]‎ استفاده كنيد .

‎‎اين دو دست دستور مختلف هردو آرايه خالي با نامpoints ايجاد ميكنند .

const points = new Array();
const points = [];

‎‎اين دو دستور مختلف هر دو آرايه جديدي شامل شش عدد ايجاد ميكنند.

const points = new Array(40, 100, 1, 5, 25, 10);
const points = [40, 100, 1, 5, 25, 10];

--(go to editor for change code and run)

‎‎كي ورد‎new‎ ميتواند بعضي از نتايج دور ازانتظار ايجاد نمايد .

// Create an array with three elements:
const points = new Array(40, 100, 1);

--(go to editor for change code and run)

// Create an array with two elements:
const points = new Array(40, 100);

--(go to editor for change code and run)

// Create an array with one element ???
const points = new Array(40); 

--(go to editor for change code and run)

‎‎در مورديكه اين دو روش ايجاد آرايه ، يك عنصر داشته باشند، برخورد يكنواختي باآن ندارند.

‎‎در زير يك خطاي رايج است .وپذيرفته ميشود.

// Create an array with one element:
const points = [40];

‎‎اما مشابه بالا برايnew برخورد متفاوت واجتناب از استفاده را پيغام ميدهد .

// Create an array with one element:
const points = [40];

--(go to editor for change code and run)

// Create an array with 40 undefined elements:
const points = new Array(40); 

--(go to editor for change code and run)

‎‎چگونه آرايه را بشناسيمHow to Recgnize An Array -‎

‎اين سوال رايج مطرح است ، كه چگونه يك آرايه را شناسائي كنيم . مشكل اين است كه با ‎typeof‎‎ارزيابي شوند، نتيجهobject برگشت ميشود . نونه زير:

const fruits = ["Banana", "Orange", "Apple"];
let type = typeof fruits;

--(go to editor for change code and run)

‎‎راه اول شناسائي آرايه

‎براي حل مسئله‎ECMAScript 5(JavaScript 2009)‎ متد جديد ‎Array.isarray()‎‎‎تعريف شده است .

Array.isArray(fruits);

--(go to editor for change code and run)

‎‎راه حل دوم شناسائي آرايه

‎عملگر‎nstanceof‎ نتيجهtrue برگشت ميدهد، اگر شي بوسيله يك سازنده ايجاد ‎شده باشد.

const fruits = ["Banana", "Orange", "Apple"];

fruits instanceof Array;

--(go to editor for change code and run)


Previous >    <Next