javascript數(shù)組方法

1、Array.join(*)

? ??將數(shù)組中所有元素轉(zhuǎn)化為字符串拼接在一起奈惑,并返回一個字符串待侵,其中*號代表你要用什么分隔符來生成字符串瘾腰,默認為逗號 返回新字符串不改變原數(shù)組? ?

????var arr=[1,2,3,4,5];

????var brr=arr.join(",");

????console.log(arr); [1,2,3,4,5]

????console.log(brr); 1,2,3,4,5


2、 Array.reverse()

? ? 將數(shù)組中的元素顛倒順序悲敷,返回逆序的數(shù)組? ?此方法改變了原數(shù)組

????var arr=[1,2,3,4,5];

????var brr=arr.reverse()

????console.log(arr);[5,4,3,2,1]

????console.log(brr);[5,4,3,2,1]


3究恤、Array.sort()

? ? 將數(shù)組中的元素進行排序并返回排序后的數(shù)組,如果不給參數(shù)將按照字母進行排序 此方法改變原數(shù)組 后德,如果包含undefined部宿,將被排到數(shù)組尾部,默認排序區(qū)分大小寫瓢湃,不區(qū)分大小寫需要傳遞參數(shù)

? ??var arr=["b","k","h","s","a"];

????arr.sort()

????console.log(arr); ?["a","b","h","k","s"]

? ? 非字母表排序需要給sort傳遞一個比較函數(shù)窟赏。該函數(shù)的兩個參數(shù)決定了他的兩個參數(shù)在排好序的數(shù)組中的先后順序,假如第一個參數(shù)在前應(yīng)該返回一個小于0的數(shù)箱季。反之涯穷,第一個參數(shù)在后應(yīng)該返回一個大于0的數(shù)。假設(shè)兩個值相等(排序無關(guān)緊要)返回0

? ??????var arr=[1,23,2,333,45,5,666];

????????arr.sort()

????????console.log(arr);[1,2,23,333,45,5,666]//按照Unicode編碼排序

????????arr.sort((a,b)=>{

????????????return a-b;//升序

? ? ? ? ? })

? ? ? ? ?console.log(arr);?[1, 2, 5, 23, 45, 333, 666]

?????????arr.sort((a,b)=>{

????????????return b-a;//降序

? ? ? ? ? })

????????console.log(arr); [666, 333, 45, 23, 5, 2, 1]


4藏雏、Array.concat()

? ? 創(chuàng)建并返回一個新的數(shù)組拷况,不改變原數(shù)組,總的來說就是講數(shù)組和參數(shù)拼接在一起

? ??var arr=[1,2,3,4];

????var brr=arr.concat(4,5);

????console.log(arr);[1,2,3,4]

????console.log(brr);[1,2,3,4,4,5]


5掘殴、Array.slice(star,end)

? ? 返回指定數(shù)組的一個片段或子數(shù)組赚瘦。兩個參數(shù)代表片段的開始和結(jié)束位置。含左不含右(包含起始端不包含結(jié)束端)奏寨。如果指定一個參數(shù)那就是從參數(shù)開始到結(jié)束起意。如果包含負數(shù),-1代表最后一個元素(結(jié)尾端以-1開始起)病瞳。 此方法不修改原數(shù)組? ??

????var arr=[1,2,3,4,5];

????console.log(arr.slice(0,3));[1,2,3]

????console.log(arr.slice(3));[4,5]

????console.log(arr.slice(1, -1));[2,3,4]

????console.log(arr.slice(-3, -2));[3]


6揽咕、Array.splice(star,num悲酷,..)

? ?在數(shù)組中插入或刪除的通用方法。此方法會修改原數(shù)組?亲善。第一個參數(shù)指定了插入或刪除的起始位置设易,第二個參數(shù)指定了要刪除的個數(shù),如果神略蛹头,那么從起始位置到結(jié)尾都將被刪除顿肺。此方法返回的是刪除元素組成的數(shù)組,如果沒有刪除元素就返回一個空數(shù)組

????var arr=[1,2,3,4,5,6,7,8,9];

????console.log(arr.splice(4));[5,6,7,8,9]

????console.log(arr);[1,2,3,4]

????console.log(arr.splice(1,2));[2,3]

????console.log(arr);[1,4]

????console.log(arr.splice(1,1));[4]

????console.log(arr);[1]

前面兩個參數(shù)指定了起始位置和刪除的數(shù)量渣蜗,后面人一個數(shù)的參數(shù)指定了需要插入到數(shù)組中的元素

? ??var arr=[1,2,3,4,5];

????console.log(arr.splice(2,0,"a","b"));[] 沒有刪除元素

????console.log(arr);[1,2,"a","b",3,4,5]

????console.log(arr.splice(2,2, [7,8],9));["a","b"]

????console.log(arr);[1,2, [7,8],9,3,4,5]


7屠尊、push()和pop()

兩個方法允許將數(shù)組當(dāng)做棧來使用,push是向數(shù)組的尾部追加一個或多個元素耕拷,并返回數(shù)組的新的長度讼昆。pop()則相反,它刪除數(shù)組中的最后一個元素斑胜,減小數(shù)組長度并返回刪除的值控淡。兩種方法都修改了原數(shù)組

? ??var arr=[];

????console.log(arr.push(1,2));//2

????console.log(arr);//[1, 2]

????console.log(arr.pop());//2

????console.log(arr);//[1]

????console.log(arr.push(3));//2

????console.log(arr);//[1, 3]

????console.log(arr.pop());//3

????console.log(arr);//[1]

????console.log(arr.push([4,5]));//2

????console.log(arr);//[1, [4, 5]]

????console.log(arr.pop());//[4, 5]

????console.log(arr);//[1]

????console.log(arr.pop());//1

????console.log(arr);//[]

注意:push返回新數(shù)組長度止潘,pop返回刪除的元素


8掺炭、unshift()和shift()

? ? 這兩個方法與第七條正好相反,是在數(shù)組的頭部進行操作凭戴。unshift()在數(shù)組的頭部添加一個或多個元素涧狮,并將已存在的元素移動到更高的索引位置來獲得更多的空間,返回新數(shù)組的長度么夫。shift()刪除數(shù)組的第一個元素并返回其值者冤。

????var arr=[];

????console.log(arr.unshift(1));//1

????console.log(arr);//[1]

????console.log(arr.unshift(2));//2

????console.log(arr);//[2, 1]

????console.log(arr.shift());//2

????console.log(arr);//[1]

????console.log(arr.unshift(3,[4,5]));//3

????console.log(arr);//?[3, [4,5], 1]

????console.log(arr.shift());//3

????console.log(arr);//[ [4,5], 1]

????console.log(arr.shift());//[4, 5]

????console.log(arr);//[1]

????console.log(arr.shift());//1

????console.log(arr);//[]

注意:多個參數(shù)插入是一次性插入的,而非一個一個插入档痪,所以不會改變插入式的順序



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涉枫,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子腐螟,更是在濱河造成了極大的恐慌愿汰,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乐纸,死亡現(xiàn)場離奇詭異衬廷,居然都是意外死亡,警方通過查閱死者的電腦和手機汽绢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門吗跋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事跌宛⌒锼危” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵秩冈,是天一觀的道長本缠。 經(jīng)常有香客問我斥扛,道長入问,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任稀颁,我火速辦了婚禮芬失,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘匾灶。我一直安慰自己棱烂,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布阶女。 她就那樣靜靜地躺著颊糜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪秃踩。 梳的紋絲不亂的頭發(fā)上衬鱼,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天,我揣著相機與錄音憔杨,去河邊找鬼鸟赫。 笑死,一個胖子當(dāng)著我的面吹牛消别,可吹牛的內(nèi)容都是我干的抛蚤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼寻狂,長吁一口氣:“原來是場噩夢啊……” “哼岁经!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蛇券,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤缀壤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后怀读,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诉位,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年菜枷,在試婚紗的時候發(fā)現(xiàn)自己被綠了苍糠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡啤誊,死狀恐怖岳瞭,靈堂內(nèi)的尸體忽然破棺而出拥娄,到底是詐尸還是另有隱情,我是刑警寧澤瞳筏,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布稚瘾,位于F島的核電站,受9級特大地震影響姚炕,放射性物質(zhì)發(fā)生泄漏摊欠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一柱宦、第九天 我趴在偏房一處隱蔽的房頂上張望些椒。 院中可真熱鬧,春花似錦掸刊、人聲如沸免糕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽石窑。三九已至,卻和暖如春蚓炬,著一層夾襖步出監(jiān)牢的瞬間松逊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工试吁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留棺棵,地道東北人。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓熄捍,卻偏偏與公主長得像烛恤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子余耽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容

  • concat():對數(shù)組進行拼接缚柏,具有打散插入的數(shù)組的功能,返回新數(shù)組碟贾,無權(quán)修改原數(shù)組币喧。如果給這個concat傳遞...
    十七度的夏天閱讀 397評論 0 0
  • 一、怎樣創(chuàng)建一個數(shù)組袱耽? 如果括號里的參數(shù)只有一個杀餐,代表的意義就不同了例如: 二、數(shù)組的方法 添加 刪除 *記憶方法...
    尤樊容閱讀 362評論 0 1
  • JS基本數(shù)據(jù)類型及變量聲明在js中有三種聲明變量的方式:var let const,let var const的區(qū)...
    web佳閱讀 909評論 1 8
  • 微風(fēng)攜香行人醉朱巨, 更有癡漢鞭梢脆史翘。 南來北往俱是客, 熙熙攘攘接成隊。
    往事如煙胖婆婆閱讀 704評論 13 21
  • 安裝 node 至Node.js 官網(wǎng)下載 node8.9.x LTS 版本(長期支持版本) 安裝你喜歡的編輯器 ...
    Silver湫澲閱讀 9,983評論 0 4