var a=[1,2,3,4]
var arr=new Array()
var arr=new Array(10);//創建長度為10的數組
var arr=new Array(1,2,3,4,5,6);//創建數組
arr.length==6;
數組的刪除delete var a=[1,2,3];
delete a[0];
1 in a //false,
a.length //3,delete操作并不會影響數組的長度
數組的遍歷
for/in forEach
var a=[1,2,3];
var b=0;
a.forEach(function(x){
b+=x;//相加
})
數組的方法
Array.jion();//將所有的元素轉換為字符串并連接在一起,默認逗號連接,有一個參數,可以修改連接的樣式
Array.reverse();//將數組反向排序
Array.sort();//將數組排序后并返回排序后的數組,如果不帶參數,默認字母表順序,有參數根據回調函數的返回值來確認順序
var a=[33,4,1111,222];
a.sort();//1111,222,33,4;
a.sort(function(a,b){
return a-b;//4,33,222,1111
});
a.sort(function(){
return b-a;//1111,222,33,4
})
Array.concat();//連接數組
var a=[1,2,3];
a.concat(4,5);//[1,2,3,4,5]
a.concat([4,5]);//[1,2,3,4,5]
a.concat([4,5],[6,7]);//[1,2,3,4,5,6,7]
a.concat([4,[5,[6,7]);//[1,2,3,4,5,[6,7]]
Array.slice();返回指定數組的片段
var a=[1,2,3,4,5];
a.slice(0,3);//[1,2,3,4];
a.slice(3);//[4,5];
a.slice(1,-1);//[2,3,4];
a.slice(-3,-2);//[3]
Array.splice();splice()會修改數組,第一個參數起始點,第二個參數刪除的個數,之后的參數是插入的元素,插入元素的起始點就是第一個參數,注意,插入的數組是數組本身,不是里面的元素
Array.push()和Array.pop();push在尾部添加元素,pop在尾部刪除元素,修改原來的數組
Array.unshift()和Array.shift();unshift在頭部添加元素,shift在頭部刪除元素,修改原來的數組
Array.toString()和Array.toLocalString();轉換為字符串
ES5中數組的方法
forEach()方法
map()方法
var a=[1,2,3];
b=a.map(function(x){
return x*x;//b是[1,4,9]
})
filter()
var a=[5,4,3,2,1];
b=a.filter(function(x){
return x<3;//[2,1]
})
var a=[5,4,3,2,1];
b=a.filter(function(x,i){
return i%2==0;//[5,3,1],i是filter的第二個參數,他表示的是數組的下標,還有第三個參數當期元素屬于數組的對象
})
every()和some();是數組的邏輯判斷
var a=[5,4,3,2,1];
b=a.every(function(x){
return x<10;//true;
})
var a=[5,4,3,2,1];
b=a.some(function(x){
return x%2===0;//false;
})
reduce()和reduceRight()
var a=[5,4,3,2,1];
b=a.reduce(function(x,y){
return x+y;//數組求和
},0)
b=a.reduce(function(x,y){
return x*y;//數組求積
},1)
b=a.reduce(function(x,y){
return x>y?x:y;//求最小值
},1)
reduce()//兩各參數,第一個參數執行函數,第二個參數可選初始值,第一次執行函數時,初始值作為函數的第一個參數,以后執行函數返回的值作為函數第一個參數
reduceRight()和reduce()一樣,執行從最后一個元素開始執行
indexOf()和lastindexOf;搜索數組的指定的元素,如果找到返回下標,如果沒找到返回-1
數組的類型
Array.isArray([]);//true
Array.isArray([]);//false
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com