, .
, , . , HTML .
. .
.
.
let arr = new Array();
let arr = [];
, .
let fruits = ["", "", ""];
0 () . .
.
let fruits = ["", "", ""];
alert( fruits[0] ); //
alert( fruits[1] ); //
alert( fruits[2] ); //
.
fruits[2] = ''; // ["", "", ""]
.
fruits[3] = ''; // ["", "", "", ""]
length .
let fruits = ["", "", ""];
alert( fruits.length ); // 3
alert .
let fruits = ["", "", ""];
alert( fruits ); // ,,
.
:
// .
let arr = [ '', { name: '' }, true, function() { alert('.'); } ];
// 1 () name .
alert( arr[1].name ); //
// 3 () .
arr[3](); // .
.
let fruits = [
"",
"",
"",
];
trailing( ) .
poppush shiftunshift
(queue) , . .
push.shift. .
push pop .
.
(stack) .
.
push.pop.
' .
. ' .
. (Last-In-First-Out, LIFO) . (First-In-First-Out, FIFO) .
. .
.
pop-
, .
let fruits = ["", "", ""]; alert( fruits.pop() ); // "" . alert( fruits ); // , push-
.
let fruits = ["", ""]; fruits.push(""); alert( fruits ); // ,,fruits.push(...)fruits[fruits.length] = ....
.
shift-
, .
let fruits = ["", "", ""]; alert( fruits.shift() ); // "" . alert( fruits ); // , unshift-
.
let fruits = ["", ""]; fruits.unshift(''); alert( fruits ); // ,,
push unshift .
let fruits = [""];
fruits.push("", "");
fruits.unshift("", "");
// ["", "", "", "", ""]
alert( fruits );
. arr arr[0] . .
. length . .
, .
. .
let fruits = [""]
let arr = fruits; // ( )
alert( arr === fruits ); // true
arr.push(""); // .
alert( fruits ); // , - .
. . .
' .
.
let fruits = []; // .
fruits[99999] = 5; // .
fruits.age = 25; // .
.
.
.
arr.test = 5arr[0]arr[1000]arr[1000],arr[999]
. . , . {} .
push pop shift unshift .
.
fruits.shift(); // .
shift 0 . .
shift 3 .
-
0. - .
10,21. length.
.
unshift . , .
push pop ? . pop length .
pop .
fruits.pop(); // .
pop . .
push .
for . .
let arr = ["", "", ""];
for (let i = 0; i < arr.length; i++) {
alert( arr[i] );
}
for..of .
let fruits = ["", "", ""];
// .
for (let fruit of fruits) {
alert( fruit );
}
for..of . for..of .
for..in .
let arr = ["", "", ""];
for (let key in arr) {
alert( arr[key] ); // , ,
}
for..in for..in .
-
for..in. ., (array-like) .
length. .for..in. . -
for..in10~100 .for..in,for..in.
for..in .
length
length . length 1 .
, length .
let fruits = [];
fruits[123] = "";
alert( fruits.length ); // 124
.
length .
length . . . .
let arr = [1, 2, 3, 4, 5];
arr.length = 2; // 2 .
alert( arr ); // [1, 2]
arr.length = 5; // .
alert( arr[3] ); // undefined: .
arr.length = 0; .
new Array()
new Array() .
let arr = new Array("", "", "");
[] new Array() . new Array() .
new Array , .
new Array() .
let arr = new Array(2); // [2] ?
alert( arr[0] ); // undefined . .
alert( arr.length ); // 2.
new Array(number) undefined .
new Array .
. (multidimensional array) . .
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 . [] , [1] "1", [1,2] "1,2" .
"+" . .
alert( "" + 1 ); // "1"
alert( "1" + 1 ); // "11"
alert( "1,2" + 1 ); // "1,21"
, .
-
:
// ( ) let arr = [item1, item2...]; // new Array ( ) let arr = new Array(item1, item2...);new Array(number)number, . -
length. 1 .length. -
length.
.
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).
<code>,<pre>. 10 plnkr, JSBin, codepen .