資源描述:
《javascript數(shù)組array方法解讀_基礎(chǔ)知識(shí)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、Javascript數(shù)組Array方法解讀接上一篇《Javascript數(shù)組Array基礎(chǔ)介紹》,這一篇詳細(xì)介紹Array的所有方法。所冇數(shù)組的方法都定義在Array,prototype上,而Array,prototype本身也是一個(gè)數(shù)組。array.concat()淺復(fù)制一份當(dāng)前數(shù)組,并把接收到的參數(shù)附加到新數(shù)組的末尾。原數(shù)組不改變。語(yǔ)法array,concat(valuel,value2,...,valueN)參數(shù)為需要合并的數(shù)組或非數(shù)組值vararrl二[1,2,3];varobj二{animal:'monkey'};vararr2=arrl.concat([4,5,6],obj,[
2、7,&9]);//arrl[1,2,3]//arr2[1,2,3,4,5,6,{animal:'monkey'},7,&9]obj.animal二'tiger';//[1,2,3,4,5,6,{animal:'tiger'},7,&9]可以合并數(shù)組或非數(shù)組值,但是要注意如果包含對(duì)象,對(duì)象還是引用原來(lái)的對(duì)象。array.join()返回一個(gè)將數(shù)組所有元索用分隔符拼接成的字符串,默認(rèn)分隔符為逗號(hào)。語(yǔ)法array.join(scpcrator)參數(shù)為分割符vararrl二[1,2,3];varstr=arrl?join();//1,2,3str=arrl.join(,ttf);//1#2#3當(dāng)將
3、大量字符串片段組裝時(shí),join方法比+元素運(yùn)算符要快。利用newArray(3)將生成一個(gè)長(zhǎng)度為三的空數(shù)組,同時(shí)結(jié)合join()方法,可以實(shí)現(xiàn)重復(fù)某段字符串。varstr二newArray(3).join-;//-+-+重復(fù)的次數(shù)就是數(shù)組長(zhǎng)度減一,因?yàn)樽址跏欠指舴?。由于?shù)組本身是對(duì)象,擁有toStringO方法,利用它也能實(shí)現(xiàn)將數(shù)組拼接成一個(gè)字符串,只不過(guò)分隔符只能是逗號(hào)了。vararrl二[1,2,3];arrl.toStringO;//1,2,3實(shí)際上它會(huì)先調(diào)用每一個(gè)元素的toString()方法。array.push()把一個(gè)或多個(gè)參數(shù)附加在數(shù)組末尾,返回?cái)?shù)組長(zhǎng)度。改變數(shù)組口身。語(yǔ)
4、法array,push(valuel,value2,...,valueN);實(shí)例vararrl二[1,2,3];varlen二arrl.push(4,5);consolc.1og(lcn);//5console,log(arrl);//[1,2,3,4,5]另一種方法也可以實(shí)現(xiàn)在數(shù)組末尾插入值。arrl[arrl.length]=6;//[1,2,3,4,5,6]array.pop()將數(shù)組最后一項(xiàng)刪除,并返回刪除項(xiàng)。改變數(shù)組口身。vararrl二[1,2,3];arr.pop();//[1,2]返回3如果數(shù)組為空,返回undefinedoarray.unshift()把一個(gè)或多個(gè)參數(shù)插入
5、到數(shù)組頭部,返冋數(shù)組長(zhǎng)度。改變數(shù)組自身。vararrl二[1,2,3];varlcn二arr1.unshift(4,5);console,log(len);//5console,log(arrl);//[4,5,1,2,3]array.shift()將數(shù)組的第一項(xiàng)刪除,并返回刪除項(xiàng)。改變數(shù)組自身。vararr1二[1,2,3];arr.shift();//[2,3]返回1如果數(shù)組為空,返回undefinedoarray.sort()這個(gè)方法按照毎個(gè)元素的toString()方法返冋的值進(jìn)行排序,所以一般得不到期望的結(jié)果。vararrl=[1,2,3,14,24];arrl.sort();/
6、/[1,14,2,24,3]但是sort()方法可以接收一個(gè)我們自定義的函數(shù)進(jìn)行比較。比較函數(shù)接受兩個(gè)參數(shù),尤其sort()默認(rèn)是升序,所以如果想讓第一個(gè)參數(shù)位于第二個(gè)參數(shù)前面就要返回負(fù)數(shù),相等返回0,位于后面返回正數(shù)。varcompare=function(a,b){returna-b;}vararr2=[1,12,2,23,3,5,4];arr2.sort(compare);//[1,2,3,4,5,12,23]比較字符串可以結(jié)合string.localeCompare()方法來(lái)用。vararr3二LF,e,f,E」;arr3.sort(function(a,b){returna.lo
7、caleCompare(b);});//mmarray.reverse()反轉(zhuǎn)數(shù)組元素順序,返冋數(shù)組自身。vararrl=[1,4,3,2];arrl.reverse();//[2,3,4,1]array.slice()對(duì)數(shù)組淺復(fù)制其屮的一段,不改變數(shù)組自身。array.siice(start,end);方法接受兩個(gè)參數(shù),最后一個(gè)可以省略,默認(rèn)是數(shù)組自身長(zhǎng)度。vararrl=[1,2,3,4,5,6];arrl.slic