Array的方法

Array

①concat(arrayX,arrayX,……,arrayX)? 連接兩個或更多的數(shù)組,并返回結(jié)果;可以是具體的值,也可以是數(shù)組對象,返回的是數(shù)組

②join(separator) 方法用于把數(shù)組中的所有元素放入一個字符串。返回的是字符串

???? 如果省略參數(shù),則默認(rèn)使用逗號作為分隔符

??? 參數(shù)為空時,無縫組合

? ? 參數(shù)是字符時,使用字符作為連接符,如果字符兩邊有空格,保留字符兩邊的空格

??? 參數(shù)是符號時,使用符號連接

??? 參數(shù)為標(biāo)簽時,比如‘</br>’,每個單元后會換行

??? 可以用來添加元素:html ="<option>"+ array.join("</option><option>")+"</option>";

③pop() 方法用于刪除并返回數(shù)組的最后一個元素,無參數(shù),會改變數(shù)組的長度

④shift() 方法用于把數(shù)組的第一個元素從其中刪除,并返回第一個元素的值;如果數(shù)組是空的,那么 shift() 方法將不進(jìn)行任何操作,返回 undefined 值,會改變數(shù)組的長度

⑤push(newelement1,newelement2,....,newelementX) 方法可向數(shù)組的末尾添加一個或多個元素,并返回新的長度,直接往數(shù)組后添加元素,返回push后數(shù)組的長度

⑥unshift(newelement1,newelement2,....,newelementX) 方法可向數(shù)組的開頭添加一個或更多元素,并返回新的長度,第一個參數(shù)將成為數(shù)組的新元素 0,如果還有第二個參數(shù),它將成為新的元素

⑦reverse() 方法用于顛倒數(shù)組中元素的順序,該方法會改變原來的數(shù)組,而不會創(chuàng)建新的數(shù)組

⑧slice(start,end) 方法可從已有的數(shù)組中返回選定的元素,返回一個從開始到結(jié)束(不包括結(jié)束)選擇的數(shù)組的一部分淺拷貝到一個新數(shù)組對象,原始數(shù)組不會改變(包含start,但不包含end),返回截取后的新數(shù)組

??? start:如果不寫從0開始,從該索引處開始提取原數(shù)組中的元素

??? end:在該索引處結(jié)束提取原數(shù)組元素;如果 end 被省略,則slice 會一直提取到原數(shù)組末尾如果 end 大于數(shù)組長度,slice 也會一直提取到原數(shù)組末尾

⑨splice(index,howmany,item1,.....,itemX)方法向/從數(shù)組中添加/刪除項(xiàng)目,然后返回被刪除的項(xiàng)目

??? 參數(shù)一:整數(shù),規(guī)定添加/刪除項(xiàng)目的位置,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置

?? 參數(shù)二:要刪除的項(xiàng)目數(shù)量。如果設(shè)置為 0,則不會刪除項(xiàng)目

?? 參數(shù)三:向數(shù)組添加的新項(xiàng)目

? 改變原有的數(shù)組,并返回一個新數(shù)組

?? list.splice(0,2);// 刪除 -> 從下標(biāo)為0開始,長度為2

?? list.splice(0,2,4);// 替換 -> 從下標(biāo)為0開始,選取兩個數(shù)組元素替換成4(即4,2整體替換成4)

?? list.splice(1,0,5,4,3);// 表示在下標(biāo)為1處依次添加5/4/3三個元素

sort() 方法用于對數(shù)組的元素進(jìn)行排序;arrayObject.sort(sortby),可選,規(guī)定排序順序,必須是函數(shù)。

??? 默認(rèn)按照字符順序進(jìn)行升序排序

??? 按其他標(biāo)準(zhǔn)排序:比較函數(shù)兩個參數(shù)a和b,返回a-b升序,返回b-a降序

???????? ?如果是普通數(shù)據(jù)類型????????

??????????? arr.sort(function(a,b){

? ?????????????? returnb-a;

??????????? });

?????? ? ?如果是對象數(shù)組

??????????? arr.sort(function(a, b){

? ? ? ? ? ? ?? if(a.sortNo === b.sortNo) {

? ? ? ? ? ? ? ? ? ? ? ? return?? b.sortNo2 - a.sortNo2;

? ? ? ? ? ? ? ? } else {

? ? ? ? ? ? ? ? ? returna.sortNo - b.sortNo;

? ? ? ? ? ? ? ? }

???????????? });

?toSource() 方法表示對象的源代碼,該原始值由 Array 對象派生的所有對象繼承,只有 Gecko 核心的瀏覽器(比如 Firefox)支持該方法,也就是說 IE、Safari、Chrome、Opera 等瀏覽器均不支持該方法

以下三個方法繼承自O(shè)bject

?toString() 方法可把數(shù)組轉(zhuǎn)換為字符串,并返回結(jié)果,以逗號分割,和沒有參數(shù)的join一樣

?arrayObject.toLocaleString()把數(shù)組轉(zhuǎn)換為本地字符串

??? 和toString的區(qū)別:

????? 轉(zhuǎn)換日期格式時,toStringhi轉(zhuǎn)換為中國標(biāo)準(zhǔn)時間Tue Apr 12 2018 10:23:57 GMT+0800

????????????????????????????????? tolocalString會轉(zhuǎn)換為本地時間2016/4/12 上午10:23:57

????? 轉(zhuǎn)換數(shù)值類型時,toString標(biāo)準(zhǔn)數(shù)據(jù)型顯示,123456

??????????????????????????????????? tolocalString??? 12,345,670

?valueOf() 方法返回 Array 對象的原始值

??? Array??? valueOf() 方法返回 Array 對象的原始值

?? Boolean,function,number,object,string 都會返回自身的值

?? Date? 存儲的時間是從 1970 年 1 月 1 日午夜開始計的毫秒數(shù)UTC

與toString的區(qū)別

??? toString一定將所有內(nèi)容轉(zhuǎn)為字符串,專用于輸出字符串

?? valueOf取出對象內(nèi)部的值,不進(jìn)行類型轉(zhuǎn)換,專用于算數(shù)計算和關(guān)系運(yùn)算

?? 都無法獲取null和undefined的值

15.delete

????? 運(yùn)算符 只能刪除數(shù)組元素的值,而所占空間還在,總長度沒變(arr.length)

改變原數(shù)組的:

? ? shift:將第一個元素刪除并且返回刪除元素,空即為undefined

? ? unshift:向數(shù)組開頭添加元素,并返回新的長度

? ? pop:刪除最后一個并返回刪除的元素

? ? push:向數(shù)組末尾添加元素,并返回新的長度

? ? reverse:顛倒數(shù)組順序

? ? sort:對數(shù)組排序

? ? splice:splice(start,length,item)刪,增,替換數(shù)組元素,返回被刪除數(shù)組,無刪除則不返回

不改變原數(shù)組的:

? ? concat:連接多個數(shù)組,返回新的數(shù)組

? ? join:將數(shù)組中所有元素以參數(shù)作為分隔符放入一個字符

? ? slice:slice(start,end),返回選定元素

? ? map,filter,forEach,some,every等不改變原數(shù)組

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容