1、用 array.length 也能夠移除數組後面的項:數組
var colors = ['red', 'blue', 'green'];函數
colors.length = 2;spa
console.log(colors[2]); //undefined對象
2、若是將其length屬性設置大於數組項數的值,則新增的每一項都會取得 undefined 值:排序
var colors = ['red', 'blue', 'green'];索引
colors.length = 4;隊列
console.log(colors[3]); //undefinedci
3、肯定某個值是否是數組:it
if(Array.isArray(value)){io
//對數組執行操做
}
4、instanceof 運算符返回一個boolean值,表示指定對象是否爲某個構造函數的實例。
5、棧方法push() 返回 數組的新長度
var colors = ['red', 'blue', 'green'];
var count = colors.push('pink');
console.log(count); //4
6、棧方法pop() 返回數組中最後一項。
var colors = ['red', 'blue', 'green'];
var item= colors.pop();
console.log(item); // 'green'
console.log(colors .length); //2
7、隊列方法 shift() 移除數組中第一項,並返回該項,同時將數組長度減 1。
8、隊列方法 unshift() 在數組前添加任意個項並返回數組新長度。
9、重排序方法
reverse(); 將數組反轉,返回值是通過排序後的數組
sort(); 接受一個比較函數做爲參數,返回值是通過排序後的數組
====升序排列
var values = [0,1,5,10,15];
function compare(value1, value2){
if(value1 < value2) {
return -1;
} else if(value1 > value2) {
return 1;
} else {
return 0;
}
}
values.sort(compare);
alert(values); // 0,1,5,10,15
=====降序排列
function compare(value1, value2){
if(value1 < value2) {
return 1;
} else if(value1 > value2) {
return -1;
} else {
return 0;
}
}
values.sort(compare);
alert(values); // 15,10,5,1,0
10、操做方法 concat() 這個方法將建立當前數組的一個副本,而後後將接收到的參數添加到這個副本的末尾,最後返回新構建的數組;
var colors = ['red','green'];
var colors1 = colors.concat();
var colors2 = colors.concat('blue',['pink','black']);
console.log(colors); // ['red','green']
alert(colors1); // red,green
console.log(colors2); // ['red','green','blue','pink','black']
11、操做方法 slice() 方法,基於當前數組中的一或多個項建立一個新數組。slice() 方法能夠接受一個或兩個參數。該方法不影響原數組。
Var colors = ['red','green','blue','pink','black'];
Colors.slice(1) ; // ['green','blue','pink','black'];
Colors.slice(1,4); // ['green','blue','pink'];
參數 |
結果 |
一個 |
返回從該參數指定位置開始到當前數組末尾的全部項 |
兩個 |
返回起始和結束之間的項(但不包括結束位置的項) |
有負數 |
用數組的長度加上該數來肯定相應的位置,如 slice(-2,-1) =>slice(3,4) |
結束位置小於起始位置 |
返回空數組 |
12、操做方法 splice 主要用途是向數組的中部插入項。該方法始終都會返回一個數組,該數組中包含從原始數組中刪除的項(若是沒有刪除的項,則返回空數組),而且改變原數組 。
splice(起始位置,要刪除的項,替換的項,替換的項,。。。)
13、 位置方法 ,indexOf() 和 lastIndexOf() ,都接受兩個參數:要查找的項和(可選的)表示查找起點位置的索引。都返回要查找的項在數組中的位置,或者沒找到的狀況下返回 -1 。
indexOf() 從數組的開頭向後查找
lastIndexOf() 從數組的末尾向前查找
在比較第一個參數與數組中的每一項時,會使用全等操做符;也就是說,要求查的項必須嚴格相等(就像使用 === 同樣)。
var person = {name: 'Mary'};
var people = [{name: 'Mary'}];
var morePeople = [person];
alert(people.indexOf(person)); //-1
alert(morePeople.indexOf(person)); //0
14、迭代方法:
every() 傳入函數,數組中的而每一項返回true,則返回true
some()傳入函數, 數組中有一項項返回true,則返回true
map() 傳入函數,返回每一項執行後的結果組成的數組
filter() 傳入函數,返回 執行爲true 的項組成的數組
forEach() 傳入函數,每一項執行函數操做,沒有返回值