數組常用方法

學習數組中常用方法,按以下四個方面考慮:

(1).方法的作用?

(2).需要傳哪些參數

(3).是否有返回值,返回值是什么

(4).通過此方法是否對原來的數組產生改變


1、關于數組的增加、修改、刪除:

push:(1).向數組的末尾增加新的內容

? ? ? ? ? ? (2).參數:想向末尾增加哪些內容就傳遞誰,可以傳遞多個值,統一向末尾增加多項

? ? ? ? ? ? (3).返回:新增加后數組的長度(length)

? ? ? ? ? ? (4).原來的數組已經發生了改變

(還可以直接用ary[ ary.length ]=參數 ? 或者 ? ary.splice(ary.length,0,所加參數))

pop:(1).刪除數組最后一項的內容

? ? ? ? ? (2).參數:沒有

? ? ? ? ? (3).返回:被刪除的那一項的內容

? ? ? ? ? (4).原來的數組發生了改變

(還可以用ary.length-- ?或者 ?ary.splice(ary.length-1))

shift:(1).刪除數組中的第一項

? ? ? ? ? ?(2).參數:沒有

? ? ? ? ? ?(3).返回:被刪除的那一項的內容

? ? ? ? ? ?(4).原來的數組發生了改變

unshift:(1).向數組開頭增加一項

? ? ? ? ? ? ? (2).參數:想向開頭增加哪些內容就傳遞誰,可以傳遞多個值,統一向開頭增加多項

? ? ? ? ? ? ? (3).返回:新增加后數組的長度(length)

? ? ? ? ? ? ? (4).原來的數組已經發生了改變

splice:它既能實現刪除,也能實現增加,還能實現修改

刪除:(1).ary.splice( n,m ) 從索引n開始,刪除m個元素,把刪除的內容以一個新數組的方式返回,原來的數組改變

? ? ? ? ? ? (2).ary.splice(n):從索引n開始,刪除到數組末尾

? ? ? ? ? ?(3).ary.splice(0):把原來的數組中每一項都刪除掉(清空數組每一項),把之前每一項的值以一個新數組返回(相當于把之前數組克隆了一份一樣的),修改了原來的數組

? ? ? ? ? ?(4).ary.splice():數組中一項都沒有刪除,返回的是一個空數組

修改:(5).ary.splice(n,m,x):從索引n開始,刪除m個,用x替換刪除的部分,把刪除的內容以一個新的數組返回,原來的數組改變

增加:(6).ary.splice(n,0,x):從索引n開始,一個都不刪除(返回結果是一個空數組),把x增加到索引n的前面,原來的數組改變


2、關于數組的截取和拼接

slice:實現數組的截取,在原來的數組中截取一部分

? ? ? ? ? ? ?(1).slice(n,m):從索引n開始,找到索引m處(不包含m),將找到的部分以一個新的數組返回,原來的數組不變

? ? ? ? ? ? ?(2).slice(n):從索引n開始一直找到數組的末尾

? ? ? ? ? ? ?(3).slice(0) / slice():把原來的數組克隆一份一樣的新數組返回

concat:把兩個數組拼接到一起,原來的數組不變

? ? ? ? ? ? ? ?(1).ary1.concat.(ary2):把ary2和ary1進行拼接,ary2在后面

? ? ? ? ? ? ? ?(2).ary1.concat():把ary1克隆一份一樣的數組


3、把數組轉換為字符串

toString:把數組轉換為字符串,原來的數組不變

join:按照一個分隔符,把數組中的每一項拼接成一個字符串,原來的數組不變

eval:js中把字符串變為js表達式執行的一個方法 ? ?(eg:把數組中的每一項進行相加求和:eval(ary.join("+")))


4、數組的排序和排列

reverse:把數組倒過來排列,原來的數組改變

sort:給數組進行排序,原來的數組改變

? ? ? ? ?(1).ary.sort():這樣的話只能處理10以內的數字進行排序,因為是按照UNICODE編碼的值進行排序的

? ? ? ? ? ?ary.sort(function (a,b) { return a-b; } ):由小到大排序

? ? ? ? ? ?ary.sort(function (a,b) { return b-a; } ):由大到小排序

sort如果想按照其他標準進行排序,就需要提供比較函數,(sort的參數為函數)該函數要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數字。比較函數應該具有兩個參數 a 和 b,其返回值如下:

若 a 小于 b,在排序后的數組中 a 應該出現在 b 之前,則返回一個小于 0 的值。

若 a 等于 b,則返回 0。

若 a 大于 b,則返回一個大于 0 的值。


5、只有在標準瀏覽器中兼容的方法,在IE6-8下不兼容的

(1).indexOf / lastIndexOf(字符串中也有這兩個方法,但是字符串的這兩個方法兼容所有的瀏覽器,而數組的這兩個方法是不兼容的):當前內容在數組中第一次/最后一次出現位置的索引,如果數組中沒有這一項,返回的結果是-1,如果有這一項,索引是幾就返回幾,原來的數組不變。(可以驗證當前內容在數組中是否存在)

(2).forEach / map:都是用來遍歷數組中的每一項的

? ? ? ? ? ?forEach(function(item,index){}):數組中有幾項,函數執行幾次。item:當前遍歷數組中這一項的值,index:當前這一項的索引。原來的數組不變

? ? ? ? ? ? map:和forEach語法一樣,但是比forEach多加了一個把原來內容進行替換的部分。原來的數組不變,但返回新數組。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,321評論 6 543
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,559評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,442評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,835評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,581評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,922評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,931評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,096評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,639評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,374評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,591評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,104評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,789評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,196評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,524評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,322評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,554評論 2 379

推薦閱讀更多精彩內容