. .
. : 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 >= 0arr[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, Orangefruits.pop()fruits.at(-1)fruits.pop(). push-
:
let fruits = ["Apple", "Orange"]; fruits.push("Pear"); alert( fruits ); // Apple, Orange, Pearfriuts.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 . .
:
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. -
1021. -
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..in10 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"
==
== .
.
:
=== .
== .
:
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 >= 0arr[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)