Array.apply(null,{length:3}) //[undefined, undefined, undefined]
Array.call(null,{length:3}) //[{length:3}]
var a=[]
Array.prototype.range=function(start,end){
var length=end-start;
var step = start - 1;
return Array.apply(null,{length:length}).map(function(v,i){step++;return step})
}
a.range(0,100) //顯示0到99的數(shù)組 或者R.range(0,100)
arrayObj.toString()
作用:將數(shù)組轉(zhuǎn)化成字符串粱侣,與不穿參調(diào)用join方法相似
[1, 2, 3].toString(); //輸出 '1, 2, 3'
[1, 2, [3, 4]].toString(); //輸出 '1, 2, 3, 4'
arrayObj.join([seperator])
作用:將數(shù)組的各個(gè)元素轉(zhuǎn)成字符串,再以seperator為分隔符卫袒,將數(shù)組連接成一個(gè)字符串后
注意:seperator可選,如沒有指定seperator单匣,默認(rèn)用“夕凝,”來連接字符串
arrayObj.concat(element1, element2, ..., elementX)
作用:連接兩個(gè)或多個(gè)數(shù)組宝穗,返回連接后的數(shù)組;
注意:不修改原數(shù)組码秉;如果不傳任何參數(shù)逮矛,則返回原數(shù)組的一份拷貝;如果參數(shù)不是數(shù)組转砖,則將參數(shù)添加到連接的數(shù)組后面须鼎;如果傳入的參數(shù)是數(shù)組,則將參數(shù)數(shù)組的每個(gè)元素添加到連接的數(shù)組后面府蔗;
var arr1=[1,3,4];
var arr2=[3,4,5];
arr1.concat(arr2) //返回[1, 3, 4, 3, 4, 5] 不改變arr1的值
Array.prototype.push.apply(arr1,arr2) //6返回長度晋控,arr1值為[1, 3, 4, 3, 4, 5]
arrayObj.slice(start, end) //切片函數(shù),不改變原數(shù)組
作用:從已有的數(shù)組中返回指定元素組成的新數(shù)組礁竞,包括start指定位置的元素,但不包含end處包含的元素杉辙;
注意:start必選模捂,end可選;當(dāng)start或end為負(fù)值時(shí)蜘矢,表示從數(shù)組最后一個(gè)元素開始狂男,倒數(shù)第n個(gè)元素,比如數(shù) 組最后一個(gè)元素為倒數(shù)第一個(gè)品腹;
當(dāng)沒有指定end時(shí)岖食,則截取從start開始,一直到最后一個(gè)元素舞吭;
arguments參數(shù)是個(gè)偽數(shù)組泡垃,通過 Array.prototype.slice.call(arguments) 轉(zhuǎn)化為標(biāo)準(zhǔn)數(shù)組
var arr = [1, 2, 3];
arr.slice(0 ,2); //輸出 [1, 2],此時(shí)arr=>[1, 2, 3]
arr.slice(-2, -1); //輸出 [2]
arr.slice(1); //輸出 [2, 3]
arrayObj.splice(index, howmany, element1, element2..., elementX) //返回被刪除數(shù)組羡鸥,會改變原數(shù)組
作用:從index處開始蔑穴,從數(shù)組里刪除howmany個(gè)元素后,將element1~elementX插入到數(shù)組中惧浴,插入開始的位置為index存和;返回值為刪除的元素組成的數(shù)組;
注意:會修改原數(shù)組衷旅;howmany可選捐腿,如只傳入index,則刪除從index開始的所有元素柿顶;
如howmany為0茄袖,則刪除0個(gè)元素;
如果傳入的element為數(shù)組嘁锯,不會像slice方法那樣插入單個(gè)元素绞佩,而是將數(shù)組作為整個(gè)元素插入寺鸥;
var arr = [1, 2, 3];
arr.splice(0, 1); //輸出 [1],此時(shí)arr=>[2, 3]
arr = [1, 2, 3];
arr.splice(1, 0, 'hello'); //輸出 []品山,此時(shí) arr=>[1, 'hello', 2, 3]
arr = [1, 2, 3];
arr.splice(1); //輸出 [2, 3]胆建,此時(shí)arr=>[1]
arr = [1, 2, 3];
arr.splice(1, 0, ['hello', 'world']); //輸出 [],此時(shí)arr=> [1, ['hello', 'world'], 2, 3]
arrayObj.push(newElement1, newElement2, ... newElementX)
作用:向數(shù)組末尾添加一個(gè)或多個(gè)元素肘交,并返回修改后的數(shù)組長度
注意:會修改原數(shù)組笆载;返回修改后的數(shù)組長度
var arr = [1, 2, 3];
arr.push(4, 5); //輸出 5,此時(shí)arr=>[1,2,3,4,5]
arrayObj.pop()
作用:刪除并返回?cái)?shù)組最后一個(gè)元素
arrayObj.shift()
作用:刪除并返回?cái)?shù)組第一個(gè)元素
arrayObj.unshift()
作用:向數(shù)組開頭添加一個(gè)或多個(gè)元素涯呻,返回修改后的數(shù)組長度
注意:會修改原數(shù)組凉驻;返回的是修改后的數(shù)組長度;在IE6里复罐,返回的是undefined
arrayObj.reverse()
作用:將數(shù)組元素的排序全部顛倒過來
注意:會修改原有數(shù)組
var arr = [1, 2, 3];
arr.reverse(); //輸出 [3, 2, 1]涝登,此時(shí)arr=>[3, 2 1]
arrayObj.sort([sortFunc])
作用:對數(shù)組元素進(jìn)行排序;