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ù)組