Ø´ÛØ¡Ùا ب٠ش٠ا اجاز٠٠ÛâØ¯ÙÙØ¯ Ú©Ù Ù Ø¬Ù ÙØ¹ÙâØ§Û Ú©ÙÛØ¯Ø¯Ø§Ø± از Ù ÙØ¯Ø§Ø±Ùا را Ø°Ø®ÛØ±Ù Ú©ÙÛØ¯. اÛÙ ÚÛØ² Ø®ÙØ¨Û است.
ا٠ا Ø¨Ø³ÛØ§Ø± Ù¾ÛØ´ Ù ÛâØ¢ÛØ¯ ک٠٠ا ب٠ÛÚ© Ù Ø¬Ù ÙØ¹ÙâÛ Ù Ø±ØªØ¨ ÙÛØ§Ø² داشت٠باشÛÙ Ø Ú©Ù Ø¯Ø§Ø±Ø§Û ÛÚ© اÙ٠ا٠اÙÙØ دÙÙ Ø Ø³ÙÙ Ù ØºÛØ±Ù باشÛÙ . Ø¨Ø±Ø§Û Ù Ø«Ø§ÙØ ٠ا ÙÛØ§Ø² دارÛÙ Ú©Ù ÛÚ© ÙÛØ³Øª از ÚÛØ²Û را Ø°Ø®ÛØ±Ù Ú©ÙÛÙ : Ú©Ø§Ø±Ø¨Ø±Ø§ÙØ Ú©Ø§ÙØ§ÙØ§Ø Ø§Ù٠اÙâÙØ§Û HTML Ù ØºÛØ±Ù.
اÛÙک٠اÛÙØ¬Ø§ از ÛÚ© Ø´ÛØ¡ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ Ø®ÙØ¨ ÙÛØ³ØªØ ÚÙÙ ÙÛÚ Ø±ÙØ´Û Ø¨Ø±Ø§Û Ú©ÙØªØ±Ù Ú©Ø±Ø¯Ù ØªØ±ØªÛØ¨ اÙ٠اÙâÙØ§ ÙØ±Ø§ÙÙ ÙÙ ÛâÚ©ÙØ¯. ٠ا ÙÙ ÛâØªÙØ§ÙÛÙ ÛÚ© ÙÛÚÚ¯Û Ø¬Ø¯ÛØ¯ را «بÛÙ» ÙÛÚÚ¯ÛâÙØ§Û Ø¬Ø¯ÛØ¯ اضاÙÙ Ú©ÙÛÙ . Ø´ÛØ¡Ùا Ø¨Ø±Ø§Û ÚÙÛÙ Ù ÙØ±Ø¯Û Ø³Ø§Ø®ØªÙ ÙØ´Ø¯ÙâØ§ÙØ¯.
ÛÚ© ساختار داد٠خاص Ø¨Ù ÙØ§Ù
Array ÙØ¬Ùد دارد Ú©Ù Ø¨Ø±Ø§Û Ø°Ø®ÛØ±Ù Ù
جÙ
ÙØ¹ÙâÙØ§Û Ù
رتب Ø§Ø³ØªÙØ§Ø¯Ù Ù
ÛâØ´ÙØ¯.
تعرÛ٠کردÙ
Ø¨Ø±Ø§Û Ø³Ø§Ø®Øª ÛÚ© آراÛ٠خاÙÛ Ø¯Ù Ø³ÛÙØªÚ©Ø³ ÙØ¬Ùد دارد:
let arr = new Array();
let arr = [];
ØªÙØ±Ûبا ÙÙ ÛØ´ÙØ Ø³ÛÙØªÚ©Ø³ دÙÙ Ø§Ø³ØªÙØ§Ø¯Ù Ù ÛâØ´ÙØ¯. ٠ا Ù ÛâØªÙØ§ÙÛ٠اÙ٠اÙâÙØ§ÛÛ Ø§ÙÙÛ٠را درÙ٠براکتâÙØ§ ÙØ±Ø§Ø± دÙÛÙ :
let fruits = ["Apple", "Orange", "Plum"];
اÙ٠اÙâÙØ§Û آراÛÙ Ø¹Ø¯Ø¯Ú¯Ø°Ø§Ø±Û Ø´Ø¯ÙâØ§ÙØ¯ ک٠از ØµÙØ± Ø´Ø±ÙØ¹ Ù ÛâØ´ÙØ¯.
٠ا Ù ÛâØªÙØ§ÙÛÙ ÛÚ© اÙ٠ا٠را با Ø§Ø³ØªÙØ§Ø¯Ù از عددش درÙ٠براکتâÙØ§ Ø¯Ø±ÛØ§Ùت Ú©ÙÛÙ :
let fruits = ["Apple", "Orange", "Plum"];
alert( fruits[0] ); // Apple
alert( fruits[1] ); // Orange
alert( fruits[2] ); // Plum
Ù ÛâØªÙØ§ÙÛÙ ÛÚ© اÙ٠ا٠را جاÛگزÛÙ Ú©ÙÛÙ :
fruits[2] = 'Pear'; // now ["Apple", "Orange", "Pear"]
â¦Ûا ÛÚ© اÙÙ Ø§Ù Ø¬Ø¯ÛØ¯ را ب٠آراÛ٠اضاÙÙ Ú©ÙÛÙ :
fruits[3] = 'Lemon'; // now ["Apple", "Orange", "Pear", "Lemon"]
تعداد ک٠اÙÙ
اÙâÙØ§Û درÙ٠آراÛ٠در length آ٠است:
let fruits = ["Apple", "Orange", "Plum"];
alert( fruits.length ); // 3
ÙÙ
ÚÙÛÙ Ù
ا Ù
ÛâØªÙØ§ÙÛÙ
از alert Ø¨Ø±Ø§Û ÙØ´Ø§Ù داد٠ک٠آراÛÙ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ
.
let fruits = ["Apple", "Orange", "Plum"];
alert( fruits ); // Apple,Orange,Plum
ÛÚ© آراÛÙ Ù ÛâØªÙØ§Ùد اÙ٠اÙâÙØ§ÛÛ Ø§Ø² ÙØ± ÙÙØ¹ را Ø°Ø®ÛØ±Ù Ú©ÙØ¯.
Ø¨Ø±Ø§Û Ù Ø«Ø§Ù:
// ØªØ±Ú©ÛØ¨Û از Ù
ÙØ¯Ø§Ø±Ùا
let arr = [ 'Apple', { name: 'John' }, true, function() { alert('hello'); } ];
// Ø¢Ù name Ø¯Ø±ÛØ§Ùت Ø´ÛØ¡ در اÛÙØ¯Ú©Ø³ 1 ٠سپس ÙÙ
Ø§ÛØ´
alert( arr[1].name ); // John
// Ø¯Ø±ÛØ§Ùت تابع در اÛÙØ¯Ú©Ø³ 3 ٠اجرا کرد٠آÙ
arr[3](); // hello
ÛÚ© آراÛÙØ درست ٠اÙÙØ¯ ÛÚ© Ø´ÛØ¡Ø Ù ÛâØªÙØ§Ùد با ÛÚ© کا٠ا Ù¾Ø§ÛØ§Ù ÛØ§Ûد:
let fruits = [
"Apple",
"Orange",
"Plum",
];
سبک Â«Ú©Ø§Ù Ø§Û Ø¯ÙØ¨Ø§ÙÙâØ¯Ø§Ø±Â» اضاÙÙ/ØØ°Ù کرد٠اÙ٠ا٠را آساÙâØªØ± Ù ÛâÚ©ÙØ¯Ø ÚÙÙ ÙÙ Ù Ø®Ø·ÙØ· ٠شاب٠٠ÛâØ´ÙÙØ¯.
Ø¯Ø±ÛØ§Ùت آخرÛ٠اÙ٠اÙâÙØ§ با «at»
ÙØ±Ø¶ Ú©ÙÛ٠٠ا آخرÛ٠اÙ٠ا٠ÛÚ© اراÛ٠را Ù ÛâØ®ÙØ§ÙÛÙ .
Ø¨Ø¹Ø¶Û Ø§Ø² زباÙâÙØ§Û Ø¨Ø±ÙØ§Ù
ÙâÙÙÛØ³Û ب٠Ù
ا اجاز٠Ù
ÛâØ¯ÙÙØ¯ Ú©Ù Ø¨Ø±Ø§Û ÚÙÛÙ Ø§ÙØ¯Ø§ÙÛ Ø§Ø² اÛÙØ¯Ú©Ø³âÙØ§Û Ù
ÙÙÛ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ
Ø Ù
اÙÙØ¯ friuts[-1].
اگرÚ٠اÛ٠کار در Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت کار ÙÙ
ÛâÚ©ÙØ¯. ÙØªÛج٠undefined Ø®ÙØ§Ùد Ø¨ÙØ¯ ÚÙ٠در براکتâÙØ§ با اÛÙØ¯Ú©Ø³ Ø¨Ù ØµÙØ±Øª ÙÙØ¸Û Ø±ÙØªØ§Ø± Ù
ÛâØ´ÙØ¯.
Ù
ا Ù
ÛâØªÙØ§ÙÛÙ
Ø¨Ù ØµÙØ±Øª ÙØ§Ø¶Ø اÛÙØ¯Ú©Ø³ اÙÙ
ا٠آخر را Ù
ØØ§Ø³Ø¨Ù Ú©ÙÛÙ
Ù Ø¨Ù Ø¢Ù Ø¯Ø³ØªØ±Ø³Û Ù¾ÛØ¯Ø§ Ú©ÙÛÙ
: fruits[fruits.length - 1].
let fruits = ["Apple", "Orange", "Plum"];
alert( fruits[fruits.length-1] ); // Plum
Ù¾ Ú©Ù Û Ø²ØÙ ت دارد ÙÙØ ٠ا Ø¨Ø§ÛØ¯ Ø§Ø³Ù Ù ØªØºÛØ± را Ø¯ÙØ¨Ø§Ø± بÙÙÛØ³ÛÙ .
Ø®ÙØ´Ø¨Ø®ØªØ§Ù٠سÛÙØªÚ©Ø³Û Ú©ÙØªØ§ÙâØªØ± ÙØ¬Ùد دارد: fruits.at(-1):
let fruits = ["Apple", "Orange", "Plum"];
// fruits[fruits.length-1] درست Ù
اÙÙØ¯
alert( fruits.at(-1) ); // Plum
Ø¨Ù Ø¹Ø¨Ø§Ø±ØªÛ Ø¯ÛÚ¯Ø±Ø arr.at(i):
- اگر
i >= 0باشد درست ٠اÙÙØ¯arr[i]است. - Ø¨Ø±Ø§Û Ù
ÙØ¯Ø§Ø±ÙØ§Û Ù
ÙÙÛ Ø§Ø²
iØ Ø§Ø² Ø§ÙØªÙØ§Û Ø¢Ø±Ø§ÛÙ Ø¨Ù Ø¹ÙØ¨ ÙØ¯Ù بر٠ÛâØ¯Ø§Ø±Ø¯.
Ù ØªØ¯ÙØ§Û pop/pushØ shift/unshift
ÛÚ© ص٠ÛÚ©Û Ø§Ø² ٠تداÙÙâØªØ±ÛÙ Ø§Ø³ØªÙØ§Ø¯ÙâÙØ§ از ÛÚ© آراÛ٠است. در عÙÙ٠کا٠پÛÙØªØ±Ø آراÛÙ Ø¨Ù Ù Ø¹ÙØ§Û ÛÚ© Ù Ø¬Ù ÙØ¹Ù Ù Ø±ØªØ¨âØ´Ø¯Ù Ø§Ø² اÙ٠اÙâÙØ§ است ک٠د٠ع٠ÙÛØ§Øª را Ù¾Ø´ØªÛØ¨Ø§ÙÛ Ù ÛâÚ©ÙØ¯:
pushÛÚ© اÙ٠ا٠را ب٠آخر اضاÙÙ Ù ÛâÚ©ÙØ¯.shiftÛÚ© اÙ٠ا٠را از آغاز بر٠ÛâØ¯Ø§Ø±Ø¯Ø ØµÙ Ø±Ø§ Ù¾ÛØ´ Ù ÛâØ¨Ø±Ø¯Ø Ù¾Ø³ اÙ٠ا٠دÙ٠ب٠اÙ٠ا٠اÙ٠تبدÛÙ Ù ÛâØ´ÙØ¯.
آراÛÙâÙØ§ ÙØ± د٠ع٠ÙÛØ§Øª را Ù¾Ø´ÛØ¨Ø§ÙÛ Ù ÛâÚ©ÙÙØ¯.
Ø®ÛÙÛ Ù¾ÛØ´ Ù ÛâØ¢ÛØ¯ ک٠در ع٠٠ب٠آ٠ÙÛØ§Ø² داشت٠باشÛÙ . Ø¨Ø±Ø§Û Ù Ø«Ø§ÙØ ÛÚ© ص٠از Ù¾ÛØ§Ù âÙØ§ Ú©Ù Ø¨Ø§ÛØ¯ رÙÛ ØµÙØÙ ÙÙ Ø§ÛØ´ داد٠شÙÙØ¯.
آراÛÙâÙØ§ ÛÚ© Ù ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù دÛگر ÙÙ Ø¯Ø§Ø±ÙØ¯ Ú©Ù ÛÚ© ساختار Ø¯Ø§Ø¯Ù Ø¨Ù ÙØ§Ù پشت٠است.
پشت٠د٠ع٠ÙÛØ§Øª را Ù¾Ø´ØªÛØ¨Ø§ÙÛ Ù ÛâÚ©ÙØ¯:
pushÛÚ© اÙ٠ا٠را ب٠آخر اضاÙÙ Ù ÛâÚ©ÙØ¯.popÛÚ© اÙ٠ا٠را از آخر بر٠ÛâØ¯Ø§Ø±Ø¯.
پس اÙ٠اÙâÙØ§Û Ø¬Ø¯ÛØ¯ ÛØ§ اضاÙÙ Ù ÛâØ´ÙÙØ¯ ÛØ§ ÙÙ ÛØ´Ù از «آخر» برداشت٠٠ÛâØ´ÙÙØ¯.
ÛÚ© پشت٠٠ع٠ÙÙØ§ ب٠عÙÙØ§Ù ÛÚ© بستÙâØ§Û Ø§Ø² کارتâÙØ§ ÙØ±Ø¶ Ù ÛâØ´ÙØ¯: کارتâÙØ§Û Ø¬Ø¯ÛØ¯ Ø¨Ù Ø¨Ø§ÙØ§ اضاÙÙ Ù ÛâØ´ÙÙØ¯ ÛØ§ از Ø¨Ø§ÙØ§ برداشت٠٠ÛâØ´ÙÙØ¯:
Ø¨Ø±Ø§Û Ù¾Ø´ØªÙâÙØ§Ø آخرÛÙ ÚÛØ²Û ک٠اضاÙ٠شد٠باشد اÙÙ Ø¯Ø±ÛØ§Ùت Ù ÛâØ´ÙØ¯Ø ÙÙ ÚÙÛ٠ب٠آ٠LIFO (Last-In-First-Out) ÙÙ Ú¯ÙØªÙ Ù ÛâØ´ÙØ¯. Ø¨Ø±Ø§Û ØµÙâÙØ§Ø ٠ا FIFO (First-In-First-Out) را دارÛÙ .
آراÛÙâÙØ§ در Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت Ù ÛâØªÙØ§ÙÙØ¯ Ù٠ب٠عÙÙØ§Ù ÛÚ© ص٠٠Ù٠ب٠عÙÙØ§Ù ÛÚ© پشت٠کار Ú©ÙÙØ¯. Ø¢ÙÙØ§ ب٠ش٠ا اجاز٠٠ÛâØ¯ÙÙØ¯ ک٠اÙ٠اÙâÙØ§ را بÙ/از آغاز ÛØ§ Ù¾Ø§ÛØ§Ù اضاÙÙ/ØØ°Ù Ú©ÙÛØ¯.
در عÙÙ٠کا٠پÛÙØªØ± ساختار دادÙâØ§Û Ú©Ù ÙÙ ÚÙÛÙ ÚÛØ²Û را Ù Ù Ú©Ù Ù ÛâÚ©ÙØ¯Ø ص٠د٠طرÙÙ ÙØ§Ù ÛØ¯Ù Ù ÛâØ´ÙØ¯.
Ù ØªØ¯ÙØ§ÛÛ Ú©Ù Ø¨Ø§ Ø§ÙØªÙØ§Û Ø¢Ø±Ø§Û٠کار Ù ÛâÚ©ÙÙØ¯:
pop-
آخرÛ٠اÙ٠ا٠از آراÛ٠را خارج Ù ÛâÚ©ÙØ¯ ٠آ٠را بر٠ÛâÚ¯Ø±Ø¯Ø§ÙØ¯:
let fruits = ["Apple", "Orange", "Pear"]; alert( fruits.pop() ); // Ù ÛâÚ©ÙØ¯ alert را ØØ°Ù Ù ÛâÚ©ÙØ¯ ٠آ٠را "Pear" alert( fruits ); // Apple, OrangeÙØ± دÙÛ
fruits.pop()Ùfruits.at(-1)اÙ٠ا٠آخر آراÛ٠را بر٠ÛâگرداÙÙØ¯ ا٠اfruits.pop()با ØØ°Ù آ٠اÙ٠ا٠آراÛ٠را تغÛÛØ± Ù ÛâØ¯ÙØ¯. push-
اÙ٠ا٠را Ø¨Ù Ø§ÙØªÙØ§Û Ø¢Ø±Ø§Û٠اضاÙÙ Ù ÛâÚ©ÙØ¯:
let fruits = ["Apple", "Orange"]; fruits.push("Pear"); alert( fruits ); // Apple, Orange, Pearصدا زدÙ
friuts.push(...)برابر است باfruits[fruits.length] = ....
Ù ØªØ¯ÙØ§ÛÛ Ú©Ù Ø¨Ø§ آغاز آراÛ٠کار Ù ÛâÚ©ÙÙØ¯:
shift-
اÙÙÛ٠اÙ٠ا٠آراÛ٠را خارج Ù ÛâÚ©ÙØ¯ ٠آ٠را بر٠ÛâÚ¯Ø±Ø¯Ø§ÙØ¯:
let fruits = ["Apple", "Orange", "Pear"]; alert( fruits.shift() ); // Ù ÛâÚ©ÙØ¯ alert را ØØ°Ù Ù ÛâÚ©ÙØ¯ ٠آ٠را "Apple" alert( fruits ); // Orange, Pear unshift-
اÙ٠ا٠را ب٠آغاز آراÛ٠اضاÙÙ Ù ÛâÚ©ÙØ¯:
let fruits = ["Orange", "Pear"]; fruits.unshift('Apple'); alert( fruits ); // Apple, Orange, Pear
Ù
ØªØ¯ÙØ§Û push Ù unshift Ù
ÛâØªÙØ§ÙÙØ¯ ÚÙØ¯ اÙÙ
ا٠را ÛÚ© جا اضاÙÙ Ú©ÙÙØ¯:
let fruits = ["Apple"];
fruits.push("Orange", "Peach");
fruits.unshift("Pineapple", "Lemon");
// ["Pineapple", "Lemon", "Apple", "Orange", "Peach"]
alert( fruits );
Ø§Ø¬Ø²Ø§Û Ø¯Ø§Ø®ÙÛ
ÛÚ© آراÛÙ ÙÙØ¹ Ø®Ø§ØµÛ Ø§Ø² ÛÚ© Ø´ÛØ¡ است. براکتâÙØ§ Ú©Ù Ø¨Ø±Ø§Û Ø¯Ø³ØªØ±Ø³Û Ø¨Ù ÛÚ© ÙÛÚÚ¯Û arr[0] Ø§Ø³ØªÙØ§Ø¯Ù Ù
ÛâØ´ÙÙØ¯ در ÙØ§Ùع از سÛÙØªÚ©Ø³ Ø´ÛØ¡ Ø¢Ù
دÙâØ§ÙØ¯. اساسا شبÛ٠ب٠obj[key] Ø§Ø³ØªØ Ú©Ù Ø¯Ø± Ø¢Ù arr Ø´ÛØ¡ Ø§Ø³ØªØ Ø¯Ø±ØØ§ÙÛ Ú©Ù Ø§Ø¹Ø¯Ø§Ø¯ ب٠عÙÙØ§Ù Ú©ÙÛØ¯Ùا Ø§Ø³ØªÙØ§Ø¯Ù Ù
ÛâØ´ÙÙØ¯.
Ø¢ÙÙØ§ Ø´ÛØ¡Ùا را با ÙØ±Ø§ÙÙ
کرد٠Ù
ØªØ¯ÙØ§Û Ø®Ø§ØµÛ Ø¨Ø±Ø§Û Ú©Ø§Ø±Ú©Ø±Ø¯Ù Ø¨Ø§ Ù
جÙ
ÙØ¹ÙâÙØ§Û Ù
رتب شدÙâÛ Ø¯Ø§Ø¯Ù Ù ÙÛÚÚ¯Û length گسترد٠Ù
ÛâÚ©ÙÙØ¯. اÙ
ا در Ø±ÛØ´Ù ٠ذات ÙÙÙØ² ÛÚ© Ø´ÛØ¡ ÙØ³ØªÙد.
Ø¨Ù ÛØ§Ø¯ Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÛØ¯Ø ÙÙØ· 8 ÙÙØ¹ داد٠ساد٠در Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت ÙØ¬Ùد دارد (Ø¨Ø±Ø§Û Ø§Ø·ÙØ§Ø¹Ø§Øª Ø¨ÛØ´ØªØ± ÙØµÙ اÙÙØ§Ø¹ داد٠را ببÛÙÛØ¯). آراÛÙ ÛÚ© Ø´ÛØ¡ است ٠ب٠ÙÙ Û٠دÙÛ٠٠اÙÙØ¯ ÛÚ© Ø´ÛØ¡ ع٠٠٠ÛâÚ©ÙØ¯.
Ø¨Ø±Ø§Û Ù Ø«Ø§ÙØ آراÛÙ ØªÙØ³Ø· ٠رجع Ú©Ù¾Û Ù ÛâØ´ÙØ¯:
let fruits = ["Ù
ÙØ²"]
let arr = fruits; Ú©Ù¾Û Ø´Ø¯Ù ØªÙØ³Ø· Ù
رجع (د٠Ù
ØªØºÛØ± ب٠آراÛÙ Ù
شابÙÛ Ø±Ø¬ÙØ¹ Ù
ÛâÚ©ÙÙØ¯)
alert( arr === fruits ); // true
arr.push("Ú¯ÙØ§Ø¨Û"); // تغÛÛØ± داد٠آراÛ٠با Ø§Ø³ØªÙØ§Ø¯Ù از Ù
رجع
alert( fruits ); // ØØ§Ù Ø¯Ø§Ø±Ø§Û 2 اÙÙ
ا٠است - Ù
ÙØ²Ø Ú¯ÙØ§Ø¨Û
ا٠ا ÚÛØ²Û ک٠باعث Ù ÛâØ´ÙØ¯ آراÛÙâÙØ§ خاص Ø¨Ø§Ø´ÙØ¯ ÙÙ Ø§ÛØ´ داخÙÛ Ø¢ÙÙØ§ است. Ù ÙØªÙر Ø³Ø¹Û Ù ÛâÚ©ÙØ¯ ک٠اÙ٠اÙâÙØ§Û آراÛ٠را در ÙØ§ØÛÙâØ§Û Ù¾ÛÙØ³ØªÙ در ØØ§ÙØ¸Ù Ø°Ø®ÛØ±Ù Ú©ÙØ¯Ø ÛÚ©Û Ù¾Ø³ از دÛÚ¯Ø±ÛØ درست ÙÙ Ø§ÙØ·Ùر ک٠در تصاÙÛØ± اÛÙ ÙØµÙ ÙØ´Ø§Ù Ø¯Ø§Ø¯Ù Ø´Ø¯Ø Ù Ø¨ÙÛÙÙâØ³Ø§Ø²ÛâÙØ§ÛÛ ÙÙ ÙØ¬Ùد Ø¯Ø§Ø±Ø¯Ø Ø¨Ø±Ø§Û Ø§ÛÙک٠آراÛÙâÙØ§ را Ø¨Ø³ÛØ§Ø± Ø³Ø±ÛØ¹ Ú©ÙÙØ¯.
ا٠ا اگر ٠ا از کار کرد٠با آراÛ٠ب٠عÙÙØ§Ù ÛÚ© Â«Ù Ø¬Ù ÙØ¹Ù ٠رتب شدÙ» دست بکشÛÙ Ù Ø´Ø±ÙØ¹ ب٠کار کرد٠ب٠عÙÙØ§Ù ÛÚ© Ø´ÛØ¡ ٠ع٠ÙÙÛ Ú©ÙÛÙ Ø Ø¨ÙÛÙÙâØ³Ø§Ø²ÛâÙØ§ ٠تÙÙÙ Ù ÛâØ´ÙÙØ¯.
Ø¨Ø±Ø§Û Ù Ø«Ø§ÙØ Ø¨Ù Ø·ÙØ± ÙÙÛ Ù ÛâØªÙØ§ÙÛÙ ÙÙ ÚÛÙ Ú©Ø§Ø±Û Ú©ÙÛÙ :
let fruits = []; // ÛÚ© آراÛ٠بسازÛÙ
fruits[99999] = 5; // Ù
ÙØ¯Ø§Ø±Ø¯ÙÛ Ø¨Ù ÛÚ© ÙÛÚÚ¯Û Ø¨Ø§ اÛÙØ¯Ú©Ø³Û Ø¨Ø³ÛØ§Ø± Ø¨ÛØ´ØªØ± از Ø·Ù٠آراÛÙ
fruits.age = 25; // ساخت ÛÚ© ÙÛÚÚ¯Û Ø¨Ø§ ÛÚ© اسÙ
Ø¯ÙØ®ÙاÙ
اÛ٠کار ÙØ§Ø¨Ù Ø§ÙØ¬Ø§Ù Ø§Ø³ØªØ ÚÙ٠آراÛÙâÙØ§ در ذات Ø®ÙØ¯ Ø´ÛØ¡ ÙØ³ØªÙد. ٠ا Ù ÛâØªÙØ§ÙÛÙ ÙØ± ÙÛÚÚ¯ÛâØ§Û Ø±Ø§ ب٠آÙÙØ§ اضاÙÙ Ú©ÙÛÙ .
ا٠ا Ù ÙØªÙر Ø®ÙØ§Ùد Ø¯ÛØ¯ ک٠٠ا با آراÛ٠ب٠عÙÙØ§Ù ÛÚ© Ø´ÛØ¡ ٠ع٠ÙÙÛ Ú©Ø§Ø± Ù ÛâÚ©ÙÛÙ . بÙÛÙÙâØ³Ø§Ø²ÛâÙØ§Û Ù Ø®ØµÙØµ آراÛÙ Ø¨Ø±Ø§Û ÚÙÛÙ Ù ÙØ§Ø±Ø¯ Ø§Ø³ØªÙØ§Ø¯ÙâØ§Û Ù ÙØ§Ø³Ø¨ ÙÛØ³ØªÙد Ù ØºÛØ± ÙØ¹Ø§Ù Ø®ÙØ§ÙÙØ¯ شد Ù ÙÙØ§Ûد Ø¢ÙÙØ§ Ù٠از بÛÙ Ø®ÙØ§ÙÙØ¯ Ø±ÙØª.
راÙâÙØ§Û Ø§Ø³ØªÙØ§Ø¯Ù ÙØ§Ù ÙØ§Ø³Ø¨ با ÛÚ© آراÛÙ:
- اضاÙ٠کرد٠ÛÚ© ÙÛÚÚ¯Û ØºÛØ± Ø¹Ø¯Ø¯Û Ù
اÙÙØ¯
arr.test = 5. - Ø§ÛØ¬Ø§Ø¯ ÙØ¶Ø§Û خاÙÛØ Ù
اÙÙØ¯: اضاÙ٠کردÙ
arr[0]٠سپسarr[1000](اضاÙÙ Ùکرد٠ÚÛØ²Û بÛ٠آÙÙØ§). - پر کرد٠آراÛ٠با ØªØ±ØªÛØ¨ Ø¨Ø±Ø¹Ú©Ø³Ø Ù
Ø«Ù
arr[1000]Øarr[999]Ù ØºÛØ±Ù.
ÙØ·Ùا ب٠آراÛÙâÙØ§ ب٠عÙÙØ§Ù ÛÚ© ساختار خاص Ø¨Ø±Ø§Û Ú©Ø§Ø±Ú©Ø±Ø¯Ù Ø¨Ø§ داد٠Ù
رتب شد٠Ùگا٠کÙÛØ¯. Ø¢ÙÙØ§ Ù
ØªØ¯ÙØ§Û Ø®Ø§ØµÛ Ø±Ø§ Ø¨Ø±Ø§Û Ø§ÛÙ Ù
ÙØ¶Ùع ÙØ±Ø§ÙÙ
Ù
ÛâÚ©ÙÙØ¯. آراÛÙâÙØ§ با ØØ³Ø§Ø³Ûت ب٠داخ٠Ù
ÙØªÙØ±ÙØ§Û Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت Ø¨Ø±Ø§Û Ú©Ø§Ø±Ú©Ø±Ø¯Ù Ø¨Ø§ داد٠Ù
رتب شدÙâÛ Ù
ØªÙØ§ÙÛ Ø±Ø§Ù ÛØ§ÙتÙâØ§ÙØ¯Ø ÙØ·Ùا از Ø¢ÙÙØ§ در ÙÙ
ÛÙ Ø±Ø§Ù Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯. اگر ب٠کÙÛØ¯ÙØ§Û Ø¯ÙØ®Ùا٠ÙÛØ§Ø² Ø¯Ø§Ø±ÛØ¯Ø Ø¨Ù Ø§ØØªÙ
Ø§Ù Ø²ÛØ§Ø¯ Ø´Ù
ا در ÙØ§Ùع ب٠ÛÚ© Ø´ÛØ¡ Ù
عÙ
ÙÙÛ {} Ø§ØØªÛاج Ø¯Ø§Ø±ÛØ¯.
ع٠Ùکرد
Ù
ØªØ¯ÙØ§Û push/pop سربع اجرا Ù
ÛâØ´ÙÙØ¯Ø در ØØ§ÙÛ Ú©Ù shift/unshift Ú©ÙØ¯ ÙØ³ØªÙد.
ÚØ±Ø§ کارکرد٠با Ø§ÙØªÙØ§Û Ø¢Ø±Ø§Û٠از آغاز Ø¢Ù Ø³Ø±ÛØ¹âتر Ø§Ø³ØªØ Ø¨ÛØ§ÛÛØ¯ ببÛÙÛ٠در Ø·Û Ø§Ø¬Ø±Ø§Ø´Ø¯Ù ÚÙ Ø§ØªÙØ§ÙÛ Ù ÛâØ§ÙØªØ¯:
fruits.shift(); // ÛÚ© اÙÙ
ا٠را از آغاز از بÛ٠ببر
اÛÙک٠اÙÙ
ا٠با عدد 0 را Ø¨Ú¯ÛØ±ÛÙ
٠ازبÛ٠ببرÛÙ
کاÙÛ ÙÛØ³Øª. بÙÛ٠اÙÙ
اÙâÙØ§ ÙÙ
ÙÛØ§Ø² Ø¯Ø§Ø±ÙØ¯ Ú©Ù Ø¯ÙØ¨Ø§Ø±Ù Ø´Ù
Ø§Ø±Ù Ú¯Ø°Ø§Ø±Û Ø´ÙÙØ¯.
عÙ
ÙÛØ§Øª shift Ø¨Ø§ÛØ¯ 3 کار Ø§ÙØ¬Ø§Ù
Ø¯ÙØ¯:
- اÙÙ
Ø§Ù Ø¯Ø§Ø±Ø§Û Ø§ÛÙØ¯Ú©Ø³
0را ازبÛ٠ببرد. - تÙ
اÙ
اÙÙ
اÙâÙØ§ را ب٠سÙ
ت ÚÙ¾ ØØ±Ú©Øª Ø¯ÙØ¯Ø Ø¢ÙÙØ§ را از اÛÙØ¯Ú©Ø³
1بÙ0Ø Ø§Ø²2بÙ1Ù ØºÛØ±Ù Ø¯ÙØ¨Ø§Ø±Ù Ø´Ù Ø§Ø±Ù Ú¯Ø°Ø§Ø±Û Ú©ÙØ¯. - ÙÛÚÚ¯Û
lengthرا Ø¨Ø±ÙØ² Ú©ÙØ¯.
ÙØ± ÚÙØ¯Ø± اÙ٠اÙâÙØ§Û Ø¨ÛØ´ØªØ±Û داخ٠آراÛÙ Ø¨Ø§Ø´ÙØ¯Ø Ø²Ù Ø§Ù Ø¨ÛØ´ØªØ±Û Ø¨Ø±Ø§Û ØØ±Ú©Øª Ø¢ÙÙØ§ ÙÛØ§Ø² است ٠ع٠ÙÛØ§Øª درÙÙ ØØ§Ùظ٠ÙÙ Ø¨ÛØ´ØªØ± Ù ÛâØ´ÙØ¯.
رÙÙØ¯ Ù
شابÙÛ Ø¨Ø±Ø§Û unshift Ø§ØªÙØ§Ù Ù
ÛâØ§ÙØªØ¯: Ø¨Ø±Ø§Û Ø§Ø¶Ø§Ù٠کرد٠ÛÚ© اÙÙ
ا٠ب٠آغاز آراÛÙØ Ù
ا Ø¨Ø§ÛØ¯ اÙ٠اÙÙ
اÙâÙØ§Û Ù
ÙØ¬Ùد را ب٠سÙ
ت راست ØØ±Ú©Øª دÙÛÙ
٠اÛÙØ¯Ú©Ø³ Ø¢ÙÙØ§ را Ø§ÙØ²Ø§ÛØ´ دÙÛÙ
.
دربار٠push/pop ÚØ·ÙØ±Ø Ø¢ÙÙØ§ ÙÛØ§Ø²Û Ø¨Ù ØØ±Ú©Øª داد٠ÚÛØ²Û ÙØ¯Ø§Ø±Ùد. Ø¨Ø±Ø§Û Ø§Ø³ØªØ®Ø±Ø§Ø¬ ÛÚ© اÙÙ
ا٠از Ø§ÙØªÙØ§Û Ø¢Ø±Ø§ÛÙØ Ù
تد pop اÛÙØ¯Ú©Ø³ را پاک Ù
ÛâÚ©ÙØ¯ Ù length را Ú©ÙØªØ§Ù Ù
ÛâÚ©ÙØ¯.
Ø§ÙØ¯Ø§Ù
ات Ø¨Ø±Ø§Û Ø¹Ù
ÙÛØ§Øª pop:
fruits.pop(); // ÛÚ© اÙÙ
ا٠را از Ø§ÙØªÙا ازبÛ٠ببر
Ù
تد pop ÙÛØ§Ø²Û Ø¨Ù ØØ±Ú©Øª داد٠ÚÛØ²Û ÙØ¯Ø§Ø±Ø¯Ø ÚÙ٠اÙÙ
اÙâÙØ§Û دÛگر اÛÙØ¯Ú©Ø³âÙØ§Û Ø®ÙØ¯ را ÙÚ¯Ù Ù
ÛâØ¯Ø§Ø±ÙØ¯. ب٠ÙÙ
Û٠دÙÛ٠اÛÙ Ù
تد Ø¨Ø³ÛØ§Ø± Ø¨Ø³ÛØ§Ø± Ø³Ø±ÛØ¹ است.
رÙÙØ¯ Ù
شابÙÛ ÙÙ
Ø¨Ø±Ø§Û Ù
تد push Ø§ØªÙØ§Ù Ù
ÛâØ§ÙØªØ¯.
ØÙÙÙâÙØ§
ÛÚ©Û Ø§Ø² ÙØ¯ÛÙ
ÛâØªØ±Û٠راÙâÙØ§ Ø¨Ø±Ø§Û ÚØ±Ø®Ø´ بÛ٠اÙÙ
اÙâÙØ§Û آراÛÙ Ø§Ø³ØªÙØ§Ø¯Ù از ØÙÙÙ for Ø¨Ø±Ø§Û Ø§ÛÙØ¯Ú©Ø³âÙØ§ است:
let arr = ["Apple", "Orange", "Pear"];
for (let i = 0; i < arr.length; i++) {
alert( arr[i] );
}
اÙ
ا Ø¨Ø±Ø§Û Ø¢Ø±Ø§ÛÙâÙØ§ شک٠دÛÚ¯Ø±Û Ø§Ø² ØÙÙÙ ÙØ¬Ùد Ø¯Ø§Ø±Ø¯Ø for..of:
let fruits = ["Apple", "Orange", "Plum"];
// ØÙÙÙâØ²Ø¯Ù Ø¨Û٠اÙÙ
اÙâÙØ§ آراÛÙ
for (let fruit of fruits) {
alert( fruit );
}
ØÙÙÙ for..of ب٠عدد اÙÙ
ا٠کÙÙÙÛ Ø¯Ø³ØªØ±Ø³Û ÙÙ
ÛâØ¯ÙØ¯Ø ÙÙØ· Ù
ÙØ¯Ø§Ø± Ø¢ÙØ اÙ
ا در Ø¨ÛØ´ØªØ± Ù
ÙØ§Ø±Ø¯ ÙÙ
Û٠کاÙÛ Ø§Ø³Øª. Ù Ú©ÙØªØ§ÙâØªØ± ÙÙ
است.
از ÙØØ§Ø¸ ÙÙÛØ ب٠دÙÛ٠اÛÙک٠آراÛÙâÙØ§ Ø´ÛØ¡ ÙØ³ØªÙØ¯Ø Ø§Ø³ØªÙØ§Ø¯Ù از for..in ÙÙ
Ù
Ù
ک٠است:
let arr = ["Apple", "Orange", "Pear"];
for (let key in arr) {
alert( arr[key] ); // Apple, Orange, Pear
}
ا٠ا در ÙØ§Ùع اÛÙ Ø§ÛØ¯Ù Ù ÙØ§Ø³Ø¨ ÙÛØ³Øª. Ù Ø´Ú©ÙØ§ØªÛ ٠٠ک٠است Ù٠را٠با آ٠رخ Ø¯ÙØ¯:
-
ØÙÙÙ
for..inبÛ٠ت٠ا٠ÙÛÚÚ¯ÛâÙØ§ ØÙÙÙ Ù ÛâØ²ÙØ¯Ø ÙÙ ÙÙØ· ÙÛÚÚ¯ÛâÙØ§Û عددÛ.Ø´ÛØ¡ÙاÛÛ Â«Ø¢Ø±Ø§Û٠٠اÙÙØ¯Â» در Ù Ø±ÙØ±Ú¯Ø± ٠در دÛگر Ù ØÛØ·âÙØ§ ÙØ¬Ùد Ø¯Ø§Ø±ÙØ¯Ø ک٠٠اÙÙØ¯ آراÛÙ Ø¨Ù ÙØ¸Ø± Ù ÛâØ±Ø³ÙØ¯. ÛØ¹ÙÛ Ø§ÛÙک٠آÙÙØ§ داراÛ
lengthÙ ÙÛÚÚ¯ÛâÙØ§Û اÛÙØ¯Ú©Ø³Û ÙØ³ØªÙØ¯Ø Ø§Ù Ø§ ٠٠ک٠است ÙÛÚÚ¯ÛâÙØ§ Ù Ù ØªØ¯ÙØ§Û ØºÛØ± Ø¹Ø¯Ø¯Û Ø¯ÛÚ¯Ø±Û ÙÙ Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÙØ¯Ø ک٠٠ا ٠ع٠ÙÙØ§ ÙÛØ§Ø²Û ب٠آÙÙØ§ ÙØ¯Ø§Ø±ÛÙ . ØÙÙÙfor..inØ¢ÙÙØ§ را ÙÛØ³Øª Ù ÛâÚ©ÙØ¯. پس اگر ٠ا ÙÛØ§Ø² ب٠کارکرد٠با Ø´ÛØ¡ÙØ§Û Ø¢Ø±Ø§Û٠٠اÙÙØ¯ داشت٠باشÛÙ Ø ÙÛÚÚ¯ÛâÙØ§Û اضاÙÛ Ù Ù Ú©Ù Ø§Ø³Øª تبدÛ٠ب٠٠شک٠شÙÙØ¯. -
ØÙÙÙ
for..inØ¨Ø±Ø§Û Ø´ÛØ¡ÙØ§Û Ù Ø¹Ù ÙÙÛ Ø¨ÙÛÙÙâØ³Ø§Ø²Û Ø´Ø¯Ù Ø§Ø³ØªØ Ù٠آراÛÙâÙØ§Ø ٠ب٠ÙÙ Û٠دÙÛÙ 10 تا 100 برابر Ú©ÙØ¯ØªØ± است. ÙØ·Ø¹Ø§ ÙÙÙØ² Ø®ÛÙÛ Ø³Ø±ÛØ¹ است. پر سرعت Ø¨ÙØ¯Ù ٠٠ک٠است ÙÙØ· در تÙÚ¯ÙØ§Ùا Ù Ù٠باشد. ا٠ا با اÛÙ ØØ§Ù Ø¨Ø§ÛØ¯ از ØªÙØ§Ùت Ø¢ÙÙØ§ Ù Ø·ÙØ¹ باشÛÙ .
Ø¨Ù Ø·ÙØ± Ú©ÙÛ Ù
ا ÙØ¨Ø§Ûد از for..in Ø¨Ø±Ø§Û Ø¢Ø±Ø§ÛÙâÙØ§ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ
.
سخÙÛ Ø¯Ø±Ø¨Ø§Ø±Ù âlengthâ
ÙÛÚÚ¯Û length زÙ
اÙÛ Ú©Ù Ù
ا تغÛÛØ±Û در آراÛÙ Ø§ÛØ¬Ø§Ø¯ Ù
ÛâÚ©ÙÛÙ
Ø Ø¨Ù ØµÙØ±Øª Ø®ÙØ¯Ú©Ø§Ø± Ø¨Ø±ÙØ² Ù
ÛâØ´ÙØ¯. اگر Ø¨Ø®ÙØ§ÙÛÙ
دÙÛ٠باشÛÙ
Ø Ø¯Ø± ÙØ§Ùع اÛÙ ÙÛÚÚ¯Û Ø¨Ø±Ø§Ø¨Ø± با تعداد Ù
ÙØ¯Ø§Ø±Ùا در آراÛÙ ÙÛØ³ØªØ بÙک٠برابر با Ø¨Ø²Ø±Ú¯âØªØ±Û٠اÛÙØ¯Ú©Ø³ Ø¹Ø¯Ø¯Û Ø¨Ù Ø¹ÙØ§ÙÙ ÛÚ© است.
Ø¨Ø±Ø§Û Ù Ø«Ø§ÙØ ÛÚ© اÙ٠ا٠با اÛÙØ¯Ú©Ø³ بزرگ ٠سبب Ø§ÛØ¬Ø§Ø¯ ÛÚ© length بزرگ Ù ÛâØ´ÙØ¯:
let fruits = [];
fruits[123] = "Apple";
alert( fruits.length ); // 124
ØªÙØ¬Ù Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÛØ¯ ک٠٠ا ٠ع٠ÙÙØ§ از آراÛÙâÙØ§ ب٠اÛÙ ØµÙØ±Øª Ø§Ø³ØªÙØ§Ø¯Ù ÙÙ ÛâÚ©ÙÛÙ .
ÛÚ© ÚÛØ² Ø¬Ø§ÙØ¨ دÛگر دربار٠ÙÛÚÚ¯Û length اÛ٠است Ú©Ù ÙØ§Ø¨Ù ÙÙØ´ØªÙ است.
اگر آ٠را Ø¨Ù Ø·ÙØ± Ø¯Ø³ØªÛ Ø§ÙØ²Ø§ÛØ´ دÙÛÙ Ø ÚÛØ² Ø¬Ø§ÙØ¨Û Ø§ØªÙØ§Ù ÙÙ ÛâØ§ÙØªØ¯. ا٠ا اگر آ٠را Ú©Ù Ú©ÙÛÙ Ø Ø¢Ø±Ø§ÛÙ Ø¨Ø±ÛØ¯Ù Ù ÛâØ´ÙØ¯. اÛÙ ÙØ±Ø§ÛÙØ¯ ÙØ§Ø¨Ù بازگشت ÙÛØ³ØªØ Ø¨Ø±Ø§Û Ù Ø«Ø§Ù:
let arr = [1, 2, 3, 4, 5];
arr.length = 2; // تا 2 اÙÙ
Ø§Ù Ø¨Ø±ÛØ¯Ù شد
alert( arr ); // [1, 2]
arr.length = 5; // را Ø¨Ø±Ú¯Ø±Ø¯Ø§ÙØ¯ÛÙ
length Ù
ÙØ¯Ø§Ø±
alert( arr[3] ); // undefined :Ù
ÙØ¯Ø§Ø±Ùا برÙÙ
ÛâÚ¯Ø±Ø¯ÙØ¯
Ø¨ÙØ§Ø¨Ø±Ø§ÛÙØ سادÙâØªØ±ÛÙ Ø±Ø§Ù Ø¨Ø±Ø§Û Ø®Ø§ÙÛ Ú©Ø±Ø¯Ù Ø¢Ø±Ø§ÛÙ arr.length = 0 است.
Ø³Ø§Ø²ÙØ¯Ù new Array()
ÛÚ© سÛÙØªÚ©Ø³ دÛگر Ø¨Ø±Ø§Û Ø³Ø§Ø®Øª آراÛÙ ÙØ¬Ùد دارد:
let arr = new Array("Apple", "Pear", "etc");
اÛ٠سÛÙØªÚ©Ø³ Ø¨Ù ÙØ¯Ø±Øª Ø§Ø³ØªÙØ§Ø¯Ù Ù ÛâØ´ÙØ¯ ÚÙÙ Ø§Ø³ØªÙØ§Ø¯Ù از براکتâÙØ§ Ú©ÙØªØ§ÙâØªØ± است. ÙÙ ÚÙÛÙ ÛÚ© Ø®Ø§ØµÛØª ÙØ±ÛØ¨ÙØ¯Ù ÙÙ Ø±Ø§Ù Ø¢Ù ÙØ¬Ùد دارد.
اگر new Array ÙÙ
را٠با ÛÚ© آرگÙÙ
ا٠ک٠عدد است صدا Ø²Ø¯Ù Ø´ÙØ¯Ø سپس ÛÚ© آراÛ٠بدÙ٠اÙÙ
Ø§ÙØ اÙ
ا با Ø·Ù٠داد٠شد٠ساخت٠Ù
ÛâØ´ÙØ¯.
Ø¨ÛØ§ÛÛØ¯ ببÛÙÛÙ ÚÚ¯ÙÙÙ ÛÚ© شخص Ø¨Ù Ø·ÙØ± ÙØ§Ø®ÙØ§Ø³ØªÙ Ø´Ø±Ø§ÛØ· را Ø¨Ø±Ø§Û Ø®ÙØ¯ بدتر Ù ÛâÚ©ÙØ¯:
let arr = new Array(2); Ø¢ÛØ§ ÛÚ© آراÛ٠با 2 اÙÙ
ا٠ساخت٠Ù
ÛâØ´ÙØ¯Ø
alert( arr[0] ); // undefined !اÙÙ
اÙÛ ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯
alert( arr.length ); // length 2
Ø¨Ø±Ø§Û Ø§ÛÙک٠از ÚÙÛ٠سÙÙ¾Ø±Ø§ÛØ²ÙاÛÛ Ø¬ÙÙÚ¯ÛØ±Û Ú©ÙÛÙ Ø Ø¨Ø§ÛØ¯ از براکتâÙØ§ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ Ø Ù Ú¯Ø± اÛÙÚ©Ù ÙØ§Ùعا بداÙÛ٠در ØØ§Ù Ø§ÙØ¬Ø§Ù ÚÙ Ú©Ø§Ø±Û ÙØ³ØªÛÙ .
آراÛÙâÙØ§Û ÚÙØ¯ بعدÛ
آراÛÙâÙØ§ Ù ÛâØªÙØ§ÙÙØ¯ اÙ٠اÙâÙØ§ÛÛ Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÙØ¯ Ú©Ù Ø®ÙØ¯Ø´Ø§Ù Ù٠آراÛÙ ÙØ³ØªÙد. ٠ا Ù ÛâØªÙØ§ÙÛ٠از Ø¢Ù Ø¨Ø±Ø§Û Ø¢Ø±Ø§ÛÙâÙØ§Û ÚÙØ¯ Ø¨Ø¹Ø¯Û Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ Ø Ø¨Ø±Ø§Û Ù Ø«Ø§Ù Ø°Ø®ÛØ±Ù Ú©Ø±Ø¯Ù Ù Ø§ØªØ±ÛØ³âÙØ§:
let matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
alert( matrix[1][1] ); // 5 ØØ§ÙÙ
ا٠Ù
رکزÛ
٠تد toString
آراÛÙâÙØ§ Ù¾ÛØ§Ø¯ÙâØ³Ø§Ø²Û Ø®ÙØ¯ را از Ù
تد toString Ø¯Ø§Ø±ÙØ¯ Ú©Ù ÛÚ© ÙÛØ³ØªÛ از اÙÙ
اÙâÙØ§ Ú©Ù ØªÙØ³Ø· کاÙ
ا جدا شدÙâØ§ÙØ¯ را برÙ
ÛâÚ¯Ø±Ø¯Ø§ÙØ¯.
Ø¨Ø±Ø§Û Ù Ø«Ø§Ù:
let arr = [1, 2, 3];
alert( arr ); // 1,2,3
alert( String(arr) === '1,2,3' ); // true
Ø¨ÛØ§ÛÛØ¯ اÛ٠را ÙÙ Ø§Ù ØªØØ§Ù Ú©ÙÛÙ :
alert( [] + 1 ); // "1"
alert( [1] + 1 ); // "11"
alert( [1,2] + 1 ); // "1,21"
آراÛÙâÙØ§ ÙÙ Symbol.toPrimitive Ø¯Ø§Ø±ÙØ¯ Ù ÙÙ ÛÚ© valueOf Ù
ÙØ§Ø³Ø¨Ø Ø¢ÙÙØ§ ÙÙØ· تبدÛÙ toString را Ù¾ÛØ§Ø¯ÙâØ³Ø§Ø²Û Ù
ÛâÚ©ÙÙØ¯Ø پس اÛÙØ¬Ø§ [] ب٠ÛÚ© رشت٠خاÙÛ ØªØ¨Ø¯ÛÙ Ù
ÛâØ´ÙØ¯Ø [1] ب٠"1" تبدÛÙ Ù
ÛâØ´ÙØ¯ Ù [1,2] ب٠"1,2" تبدÛÙ Ù
ÛâØ´ÙØ¯.
زÙ
اÙÛ Ú©Ù Ø¹Ù
Ùگر Ù
ثبت دÙگاÙÙ "+" ÚÛØ²Û را ب٠ÛÚ© رشت٠اضاÙÙ Ù
ÛâÚ©ÙØ¯Ø آ٠را ÙÙ
ب٠ÛÚ© رشت٠تبدÛÙ Ù
ÛâÚ©ÙØ¯Ø پس Ù
رØÙ٠بعد اÛÙÚ¯ÙÙÙ Ø¨Ù ÙØ¸Ø± Ù
ÛâØ±Ø³Ø¯:
alert( "" + 1 ); // "1"
alert( "1" + 1 ); // "11"
alert( "1,2" + 1 ); // "1,21"
آراÛÙâÙØ§ را با Ø§Ø³ØªÙØ§Ø¯Ù از == Ù ÙØ§Ûس٠ÙÚ©ÙÛØ¯
آراÛÙâÙØ§ در Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±ÛÙ¾ØªØ Ø¨Ø± Ø®ÙØ§Ù زباÙâÙØ§Û Ø¨Ø±ÙØ§Ù
ÙâÙÙÛØ³Û دÛÚ¯Ø±Ø ÙØ¨Ø§Ûد با عÙ
Ùگر == Ù
ÙØ§Ûس٠شÙÙØ¯.
اÛ٠ع٠Ùگر ÙØÙÙ Ø¨Ø±Ø®ÙØ±Ø¯ Ø®Ø§ØµÛ Ø¨Ø±Ø§Û Ø¢Ø±Ø§ÛÙâÙØ§ ÙØ¯Ø§Ø±Ø¯ ٠با Ø¢ÙÙØ§ ٠اÙÙØ¯ Ø´ÛØ¡Ùا Ø±ÙØªØ§Ø± Ù ÛâÚ©ÙØ¯.
Ø¨ÛØ§ÛÛØ¯ ÙÙØ§ÙÛ٠را ÛØ§Ø¯Ø¢ÙØ±Û Ú©ÙÛÙ :
- Ø¯Ù Ø´ÛØ¡ با
==ÙÙØ· ز٠اÙÛ Ø¨Ø±Ø§Ø¨Ø± ÙØ³ØªÙد ک٠٠رجع Ø¢ÙÙØ§ ب٠ÛÚ© Ø´ÛØ¡ باشد. - اگر ÛÚ©Û Ø§Ø² آرگÙÙ
اÙâÙØ§Û
==Ø´ÛØ¡ باشد ٠دÛÚ¯Ø±Û ÛÚ© Ù ÙØ¯Ø§Ø± اصÙÛ (primitive) Ø¨Ø§Ø´Ø¯Ø Ø³Ù¾Ø³ Ø´ÛØ¡ Ø¨Ù Ù ÙØ¯Ø§Ø± اصÙÛ ØªØ¨Ø¯ÛÙ Ù ÛâØ´ÙØ¯Ø ÙÙ Ø§ÙØ·Ùر ک٠در ÙØµÙ تبدÛÙ Ø´ÛØ¡ Ø¨Ù Ù ÙØ¯Ø§Ø± اصÙÛ ØªÙØ¶ÛØ Ø¯Ø§Ø¯Ù Ø´Ø¯. - â¦Ø¨Ù Ø§Ø³ØªØ«ÙØ§Û
nullÙundefinedک٠با==برابر ÙØ³ØªÙد ا٠ا با ÚÛØ² دÛÚ¯Ø±Û Ø¨Ø±Ø§Ø¨Ø± ÙÛØ³ØªÙد.
Ù
ÙØ§Ûس٠سختâÚ¯ÛØ±Ø§ÙÙ === ØØªÛ سادÙâØªØ± است ÚÙÙ ÙÙØ¹ Ù
ÙØ¯Ø§Ø±Ùا را تبدÛÙ ÙÙ
ÛâÚ©ÙØ¯.
پس اگر Ù
ا آراÛÙâÙØ§ را با == Ù
ÙØ§Ûس٠کÙÛÙ
Ø Ø¢ÙÙØ§ ÙÛÚ ÙÙØª برابر ÙÛØ³ØªÙØ¯Ø Ù
گر اÛÙک٠د٠Ù
ØªØºÛØ± را ک٠ب٠ÛÚ© آراÛÙ Ø±Ø¬ÙØ¹ Ù
ÛâÚ©ÙÙØ¯ را Ù
ÙØ§Ûس٠کÙÛÙ
.
Ø¨Ø±Ø§Û Ù Ø«Ø§Ù:
alert( [] == [] ); // false
alert( [0] == [0] ); // false
اÛ٠آراÛÙâÙØ§ Ø¨Ù Ø·ÙØ± ÙÙÛ Ø´ÛØ¡ÙØ§Û Ù
ØªÙØ§Ùت ÙØ³ØªÙد. پس Ø¢ÙÙØ§ برابر ÙÛØ³ØªÙد. عÙ
Ùگر == اÙÙ
ا٠ب٠اÙÙ
ا٠Ù
ÙØ§Ûس٠ÙÙ
ÛâÚ©ÙØ¯.
Ù ÙØ§Ûس٠با Ù ÙØ¯Ø§Ø±ÙØ§Û Ø§ØµÙÛ ÙÙ Ø¸Ø§ÙØ±Ø§ Ù ÛâØªÙØ§Ùد ÙØªØ§Ûج Ø¹Ø¬ÛØ¨Û Ø¨Ø¯ÙØ¯:
alert( 0 == [] ); // true
alert('0' == [] ); // false
اÛÙØ¬Ø§ در ÙØ± د٠Ù
ÙØ±Ø¯Ø Ù
ا ÛÚ© Ù
ÙØ¯Ø§Ø± اصÙÛ Ø±Ø§ با ÛÚ© Ø´ÛØ¡ آراÛÙâØ§Û Ù
ÙØ§Ûس٠Ù
ÛâÚ©ÙÛÙ
. پس آراÛÙ [] Ø¨Ø±Ø§Û Ø§ÙØ¬Ø§Ù
Ù
ÙØ§Ûس٠ب٠Ù
ÙØ¯Ø§Ø± اصÙÛ Ù Ø³Ù¾Ø³ ب٠ÛÚ© رشت٠خاÙÛ '' تبدÛÙ Ù
ÛâØ´ÙØ¯.
سپس ÙØ±Ø§ÛÙØ¯ Ù ÙØ§Ûس٠با Ù ÙØ¯Ø§Ø±ÙØ§Û Ø§ØµÙÛ Ù¾ÛØ´ Ù ÛâØ±ÙØ¯Ø ÙÙ Ø§ÙØ·Ùر ک٠در ÙØµÙ تبدÛÙ ÙÙØ¹ Ø¯Ø§Ø¯Ù ØªÙØ¶ÛØ Ø¯Ø§Ø¯Ù Ø´Ø¯:
// بعد از اÛÙÚ©Ù [] ب٠'' تبدÛ٠شد
alert( 0 == '' ); // true ØÚÙÙ '' ب٠عدد 0 تبدÛ٠شد
alert('0' == '' ); // false ØÙÛÚ ØªØ¨Ø¯ÛÙÛ Ø±Ø® ÙØ¯Ø§Ø¯Ø رشتÙâÙØ§ Ù
ØªÙØ§Ùت ÙØ³ØªÙد
Ù¾Ø³Ø ÚÚ¯ÙÙ٠آراÛÙâÙØ§ را Ù ÙØ§Ûس٠کÙÛÙ Ø
Ú©Ø§Ø±Û ÙØ¯Ø§Ø±Ø¯: از عÙ
Ùگر == Ø§Ø³ØªÙØ§Ø¯Ù ÙÚ©ÙÛØ¯. Ø¨Ù Ø¬Ø§Û Ø¢ÙØ Ø¢ÙÙØ§ را در ÛÚ© ØÙÙÙ ÛØ§ با Ø§Ø³ØªÙØ§Ø¯Ù از Ù
ØªØ¯ÙØ§Û ØÙÙÙâØ²Ø¯Ù Ú©Ù Ø¯Ø± ÙØµÙ بعد ØªÙØ¶ÛØ Ø¯Ø§Ø¯Ù Ø´Ø¯ÙâØ§ÙØ¯Ø اÙÙ
ا٠ب٠اÙÙ
ا٠Ù
ÙØ§Ûس٠کÙÛØ¯.
Ø®ÙØ§ØµÙ
آراÛÙ ÛÚ© ÙÙØ¹ Ø®Ø§ØµÛ Ø§Ø² Ø´ÛØ¡ است Ú©Ù Ø¨Ø±Ø§Û Ø°Ø®ÛØ±Ù Ù Ù Ø¯ÛØ±Ûت دادÙâÙØ§Û ٠رتب Ù ÙØ§Ø³Ø¨ است.
- ÙØÙ٠تعرÛ٠کردÙ:
// براکتâÙØ§ (Ù
عÙ
ÙÙØ§)
let arr = [item1, item2...];
// new Array (Ø¨Ù ÙØ¯Ø±Øª)
let arr = new Array(item1, item2...);
صدا زد٠new Array(number) ÛÚ© آراÛ٠با Ø·Ù٠داد٠شد٠Ù
ÛâØ³Ø§Ø²Ø¯Ø Ø§Ù
ا بدÙ٠اÙÙ
اÙ.
- ÙÛÚÚ¯Û
lengthØ·Ù٠آراÛÙ Ø§Ø³ØªØ ÛØ§ اگر Ø¨Ø®ÙØ§ÙÛ٠دÙÛ٠باشÛÙ Ø Ø¨Ø±Ø§Ø¨Ø± با آخرÛ٠اÛÙØ¯Ú©Ø³ Ø¨Ù Ø¹ÙØ§ÙÙ ÛÚ© است. اÛÙ ÙÛÚÚ¯Û Ø¨Ù Ø·ÙØ± Ø®ÙØ¯Ú©Ø§Ø± ØªÙØ³Ø· Ù ØªØ¯ÙØ§Û آراÛÙ ØªÙØ¸ÛÙ Ù ÛâØ´ÙØ¯. - اگر Ù
ا Ø¨Ù Ø·ÙØ± دستÛ
lengthرا Ú©ÙØªØ§Ù Ú©ÙÛÙ Ø Ø¢Ø±Ø§ÛÙ Ø¨Ø±ÛØ¯Ù Ù ÛâØ´ÙØ¯.
Ø¯Ø±ÛØ§Ùت اÙ٠اÙâÙØ§:
- Ù
ÛâØªÙØ§ÙÛÙ
اÙÙ
ا٠را با Ø§Ø³ØªÙØ§Ø¯Ù از اÛÙØ¯Ú©Ø³ Ø¢Ù Ø¯Ø±ÛØ§Ùت Ú©ÙÛÙ
Ø Ù
اÙÙØ¯
arr[0] - ÙÙ
ÚÙÛÙ Ù
ÛâØªÙØ§ÙÛÙ
از Ù
تد
at(i)ک٠اÛÙØ¯Ú©Ø³âÙØ§Û Ù ÙÙÛ Ø±Ø§ Ù٠٠جاز Ù ÛâØ¯Ø§ÙØ¯ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ . Ø¨Ø±Ø§Û Ù ÙØ§Ø¯Ûر Ù ÙÙÛiØ Ø§Û٠٠تد از Ø§ÙØªÙØ§Û Ø¢Ø±Ø§Û٠ب٠س٠ت Ø¹ÙØ¨ ÙØ¯Ù بر٠ÛâØ¯Ø§Ø±Ø¯. اگرi >= 0Ø¨Ø§Ø´Ø¯Ø Ø§Û٠٠تد ٠اÙÙØ¯arr[i]کار Ù ÛâÚ©ÙØ¯.
٠ا Ù ÛâØªÙØ§ÙÛ٠از ÛÚ© آراÛ٠با ع٠ÙÛØ§ØªâÙØ§Û Ø²ÛØ± ب٠عÙÙØ§Ù ÛÚ© ص٠د٠طرÙÙ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ :
push(...items)اضاÙÙ Ù ÛâÚ©ÙØ¯itemsرا Ø¨Ù Ø§ÙØªÙØ§Û Ø¢Ø±Ø§ÛÙ.pop()اÙ٠ا٠را از آخر ØØ°Ù Ù ÛâÚ©ÙØ¯ ٠آ٠را بر٠ÛâÚ¯Ø±Ø¯Ø§ÙØ¯.shift()â Ø§Ù٠ا٠را از آغاز ØØ°Ù Ù ÛâÚ©ÙØ¯ ٠آ٠را بر٠ÛâÚ¯Ø±Ø¯Ø§ÙØ¯.unshift(...items)اضاÙÙ Ù ÛâÚ©ÙØ¯itemsرا ب٠آغاز آراÛÙ.
Ø¨Ø±Ø§Û ØÙÙÙâØ²Ø¯Ù Ø¯Ø± اÙ٠اÙâÙØ§Û آراÛÙ:
for (let i=0; i<arr.length; i++)â Ø³Ø±Ûع کار Ù ÛâÚ©ÙØ¯ ٠با Ù Ø±ÙØ±Ú¯Ø±ÙØ§Û ÙØ¯ÛÙ Û Ø³Ø§Ø²Ú¯Ø§Ø± استØfor (let item of arr)â Ø³ÛÙØªÚ©Ø³Û ٠در٠ک٠ÙÙØ· Ø¨Ø±Ø§Û Ø§Ù٠اÙâÙØ§ Ø§Ø³ØªÙØ§Ø¯Ù Ù ÛâØ´ÙØ¯Øfor (let i in arr)â ÙÛÚ ÙÙØª از اÛÙ Ø§Ø³ØªÙØ§Ø¯Ù ÙÚ©ÙÛØ¯.
Ø¨Ø±Ø§Û Ù
ÙØ§Ûس٠آراÛÙâÙØ§Ø از عÙ
Ùگر == (ÙÙ
ÛÙØ·Ùر >Ø < ٠بÙÛÙ) Ø§Ø³ØªÙØ§Ø¯Ù ÙÚ©ÙÛØ¯Ø ÚÙ٠آÙÙØ§ با آراÛÙâÙØ§ Ø¨Ù Ø·ÙØ± خاص Ø±ÙØªØ§Ø± ÙÙ
ÛâÚ©ÙÙØ¯. با آراÛÙâÙØ§ ب٠عÙÙØ§Ù Ø´ÛØ¡ کار Ù
ÛâÚ©ÙÙØ¯ ٠اÛÙ ÚÛØ²Û ÙÛØ³Øª Ú©Ù Ù
ا Ù
عÙ
ÙÙØ§ Ù
ÛâØ®ÙØ§ÙÛÙ
.
Ø¨Ù Ø¬Ø§Û Ø¢ÙØ Ù
ÛâØªÙØ§ÙÛÙ
از ØÙÙÙ for..of Ø¨Ø±Ø§Û Ù
ÙØ§Ûس٠اÙÙ
ا٠ب٠اÙÙ
ا٠آراÛÙâÙØ§ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ
.
٠ا آراÛÙâÙØ§ را ادا٠٠٠ÛâØ¯ÙÛ٠٠در ÙØµÙ Ø¨Ø¹Ø¯Û Ù ØªØ¯ÙØ§Û آراÛÙ Ù ØªØ¯ÙØ§Û Ø¨ÛØ´ØªØ±Û Ø¨Ø±Ø§Û Ø§Ø¶Ø§ÙÙ Ú©Ø±Ø¯ÙØ ØØ°Ù Ú©Ø±Ø¯ÙØ استخراج Ø³Ø§Ø²Û Ø§Ù٠اÙâÙØ§ ٠٠رتب کرد٠آراÛÙâÙØ§ ÛØ§Ø¯ Ù ÛâÚ¯ÛØ±ÛÙ
ÙØ¸Ø±Ø§Øª
<code>Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯Ø Ø¨Ø±Ø§Û ÚÙØ¯Û٠خط â کد را درÙ٠تگ<pre>ÙØ±Ø§Ø± دÙÛØ¯Ø Ø¨Ø±Ø§Û Ø¨ÛØ´ از د٠خط کد â Ø§Ø² ÛÚ© جعبÙÙ Ø´ÙÛ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯. (plnkrØ jsbinØ codepenâ¦)