不推薦使用
var arr=new Array()
常用這種方式
var arr=[1,2,3,true,'abc',new date()];
JS中的數組長度并不固定,随時可以添加和删改元素
- ##push:向數組尾部添加元素,傳回值為數組新長度
var arr=[,,];
var result=arr.push(,,);
// [1,2,3,1,2,3]
- ##pop:從數組尾部移除一個元素,傳回值為移除的元素
var arr=[,,];
var result=arr.pop();
// [1,2]
- ##shift:從頭部移除一個元素,傳回值為移除的元素
var arr=[,,];
var result=arr.shift();
// [2,3]
- ##unshift:從頭部插入多個元素,傳回值為數組的長度
var arr=[,,];
var result=arr.unshift('a','b');
// ['a','b',,,]
- ##splice:截取替代元素,傳回被截取的元素
需要操作數組本身
p1:起始位置
p2:表示截取個數
p3及以後:表示替換的新元素
var arr=[,,,,];
var result=arr.splice(,,'a');
// [1,'a',4,5]
- ##slice:傳回截取内容
p1p2:左閉右開區間不會對數組本身操作
var arr=[,,,,];
var result=arr.slice(,);
// [1,2,3,4,5]
// result:2,3
- ##concat:合并數組,傳回合并後的數組
不對原本數組進行操作
var arr1=[,,,,];
var arr2=['a','b','c'];
var result=arr1.concat(arr2);
// result:1,2,3,4,5,a,b,c
- ##join:在每個元素之間加入内容
不需要操作原數組
var arr=[,,,,];
var result=arr.join('-');
// result:1-2-3-4-5
- ##sort:正序排序
var arr=[,,,,];
arr.sort();
// [1,2,3,5,6]
但是因為他按字元串排序
var arr=[,,,,];
arr.sort();
// [1,10,2,3,5]
如果要按照大小排序
// 按升序排序
var arr=[,,,,];
arr.sort(compare);
alert(arr);
function compare(value1,value2){
if (value1<value2){
return -;
}else if(value1>value2){
return ;
}else{
return ;
}
}
// 1,2,3,5,10
// 按降序排序
var arr=[,,,,];
arr.sort(compare);
alert(arr);
function compare(value1,value2){
if (value1<value2){
return ;
}else if(value1>value2){
return -;
}else{
return ;
}
}
// 10,5,3,2,1
- ##reverse:将數組倒過來
var arr=[,,,,];
arr.reverse();
// [5,4,3,2,1]
- ##indexOf:查找指定元素位置,傳回在數組中的下标
從左開始stringObject.indexOf(searchvalue,fromindex)
從右開始stringObject.lastIndexOf(searchvalue,fromindex)
參數 | 描述 |
---|---|
searchvalue | 必需。規定需檢索的字元串值。 |
fromindex | 可選的整數參數。規定在字元串中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數,則将從字元串的首字元開始檢索。 |
* ##every:方法使用指定函數檢測數組中的所有元素
* 如果數組中檢測到有一個元素不滿足,則整個表達式傳回 false,且剩餘的元素不會再進行檢測。
* 如果所有元素都滿足條件,則傳回 true。
array.every(function(value,index,array), thisValue)
參數 | 描述 |
---|---|
value | 必須。目前元素的值 |
index | 可選。目前元素的索引值 |
array | 可選。目前元素屬于的數組對象 |
thisValue | 可選。對象作為該執行回調時使用,傳遞給函數,用作 “this” 的值。如果省略了 thisValue ,”this” 的值為 “undefined” |
var arr=[,,,,,,,,];
var result=arr.every(function (value, index, array) {
return value>2;
})
alert(result);
// result:false
-
## filter:建立一個新的數組,新數組中的元素是通過檢查指定數組中符合條件的所有元素
注意: filter() 不會對空數組進行檢測。
array.filter(function(value, index, array), thisValue)
參數 | 描述 |
---|---|
value | 必須。目前元素的值 |
index | 可選。目前元素的索引值 |
array | 可選。目前元素屬于的數組對象 |
thisValue | 可選。對象作為該執行回調時使用,傳遞給函數,用作 “this” 的值。如果省略了 thisValue ,”this” 的值為 “undefined” |
傳回數組,包含了符合條件的所有元素。如果沒有符合條件的元素則傳回空數組。
var arr=[,,,,,,,,];
var result=arr.filter(function (value, index, array) {
return value<2;
})
alert(result);
// result:1
-
##some:用于檢測數組中的元素是否滿足指定條件(函數提供)
some() 方法會依次執行數組的每個元素:
- 如果有一個元素滿足條件,則表達式傳回true , 剩餘的元素不會執行檢測。
- 如果沒有滿足條件的元素,則傳回false。
array.some(function(value, index, array), thisValue)
參數 | 描述 |
---|---|
value | 必須。目前元素的值 |
index | 可選。目前元素的索引值 |
array | 可選。目前元素屬于的數組對象 |
thisValue | 可選。對象作為該執行回調時使用,傳遞給函數,用作 “this” 的值。如果省略了 thisValue ,”this” 的值為 “undefined” |
var arr=[,,,];
var result=arr.some(function (value, index, array) {
return value<2;
})
alert(result);
// result:true,false,false,false
-
##forEach:方法用于調用數組的每個元素,并将元素傳遞給回調函數
注意: forEach() 對于空數組是不會執行回調函數的。
array.forEach(function(value,index,array), thisValue)
參數 | 描述 |
---|---|
value | 必須。目前元素的值 |
index | 可選。目前元素的索引值 |
array | 可選。目前元素屬于的數組對象 |
thisValue | 可選。對象作為該執行回調時使用,傳遞給函數,用作 “this” 的值。如果省略了 thisValue ,”this” 的值為 “undefined” |
var arr=[,,,,,,,,];
arr.forEach(function (value, index, array) {
alert(value);
})
傳回值:undefined
- ##map:按照原始數組元素順序依次處理元素
array.map(function(value, index, array), thisValue)
參數 | 描述 |
---|---|
value | 必須。目前元素的值 |
index | 可選。目前元素的索引值 |
array | 可選。目前元素屬于的數組對象 |
thisValue | 可選。對象作為該執行回調時使用,傳遞給函數,用作 “this” 的值。如果省略了 thisValue ,”this” 的值為 “undefined” |
var arr=[,,,];
var result=arr.map(function (value, index, array) {
return value+1;
})
alert(result);
// resultl:2,3,4,5
傳回一個新數組,數組中的元素為原始數組元素調用函數處理後的值。
-
##reduce:接收一個函數作為累加器,數組中的每個值(從左到右)開始縮減,最終計算為一個值
reduceRight()則是從右往左
array.reduce(function(total, value, index, array), initialValue)
參數 | 描述 |
---|---|
total | 必需。初始值, 或者計算結束後的傳回值 |
value | 必須。目前元素的值 |
index | 可選。目前元素的索引值 |
array | 可選。目前元素屬于的數組對象 |
initialValue | 可選。傳遞給函數的初始值 |
var arr=[,,,];
var result=arr.reduce(function (total, value, index, array) {
return total+value;
})
alert(result);
// result:10