js數(shù)組相關(guān)的一些方法(一)

很早就想做個總結(jié),難得今日有空能曾,總結(jié)一些常用的數(shù)組方法度硝,如下:
1.join
join(separator):將數(shù)組的元素組成一個字符串寿冕,以separator分割。省略的話則默認(rèn)以逗號分割驼唱,只接收一個參數(shù),即分隔符

var arr=[1,2,3]
arr.join()
//"1,2,3"
arr.join("a")
//"1a2a3"

注:原數(shù)組不變。

2.push
push():可向數(shù)組的末尾添加一個或多個元素辨赐,并返回新的長度。

var arr =  [1, 2, 3];
arr.push(4,5,6)
6
console.log(arr) //  [1, 2, 3, 4, 5, 6]

注:返回的是數(shù)組的長度掀序,原數(shù)組改變帆焕。

3.pop
pop():方法用于刪除數(shù)組的最后一個元素并返回刪除的元素不恭。

var arr = [1,2,3];
arr.pop();
3
console.log(arr) //  [1, 2]

注:返回的是刪除的那個元素,原數(shù)組改變换吧。

4.shift
shift():方法用于把數(shù)組的第一個元素從其中刪除浑娜,并返回第一個元素的值式散。

var brr = [1,2,3];
 brr.shift();
1
console.log(brr);//[2,3]

注:返回的是刪除的那個元素打颤,原數(shù)組改變。

5.unshift
unshift(): 方法可向數(shù)組的開頭添加一個或更多元素编饺,并返回新的數(shù)組長度乖篷。

var brr = [2, 3];
 brr.unshift(5,6)
4
console.log(brr) //[5, 6, 2, 3]

注:返回的是新的數(shù)組長度透且,原數(shù)組改變
6.sort
sort():按升序排列數(shù)組,在排序時秽誊,sort()方法會調(diào)用每個數(shù)組的toString()轉(zhuǎn)型方法,然后比較得到的字符串锅论,以確定如何排序讼溺。

var arr = [12,34,9,23,51]
 arr.sort()
console.log(arr) // [12, 23, 34, 51, 9]

注:原數(shù)組會改變.

提問:數(shù)值的升序和降序怎么辦?示例中最易,我用到了箭頭函數(shù),大家可以仔細(xì)斟酌下藻懒。

var arr = [12,34,9,23,51]
arr.sort((v1,v2) => v1-v2)
console.log(arr);// [9, 12, 23, 34, 51]
arr.sort((v1,v2) => v2-v1)
console.log(arr);// [51, 34, 23, 12, 9]

說明:如果想按照其他標(biāo)準(zhǔn)進(jìn)行排序,就需要提供比較函數(shù)嬉荆,該函數(shù)要比較兩個值归敬,然后返回一個用于說明這兩個值的相對順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個參數(shù) a 和 b弄慰,其返回值如下:

若 a 小于 b,在排序后的數(shù)組中 a 應(yīng)該出現(xiàn)在 b 之前陆爽,則返回一個小于 0 的值。
若 a 等于 b慌闭,則返回 0别威。
若 a 大于 b驴剔,則返回一個大于 0 的值。

7.reverse
reverse(): 方法用于顛倒數(shù)組中元素的順序丧失。

var arr = [1,3,5,6,77]
 arr.reverse()
console.log(arr);//[77, 6, 5, 3, 1]

8.concat
concat() 方法用于連接兩個或多個數(shù)組豺妓。該方法不會改變現(xiàn)有的數(shù)組布讹,而僅僅會返回被連接數(shù)組的一個副本。

var crr = [1,3];
crr.concat(4,5)
返回: [1, 3, 4, 5]
console.log(crr);//[1, 3]

crr.concat([8,9,67]);
返回: [1, 3, 8, 9, 67]
console.log(crr);//[1, 3]

crr.concat(11,[12,34],34)
返回:[1, 3, 11, 12, 34, 34]
console.log(crr);//[1, 3]

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

9.slice
slice():返回從原數(shù)組中指定開始下標(biāo)到結(jié)束下標(biāo)之間的項(xiàng)組成的新數(shù)組描验,可接受1到2個參數(shù),分別為要返回項(xiàng)的起始和結(jié)束位置膘流,只有一個參數(shù)絮缅,則返回從參數(shù)指定位置開始到數(shù)組末尾所有項(xiàng)呼股。如果有兩個參數(shù),返回起始到結(jié)束位置之間的項(xiàng)彭谁,不包括結(jié)束位置的項(xiàng)。

var drr = [1, 23, 45, 25, 67, 9, 18];
 drr.slice(3)
返回: [25, 67, 9, 18]
console.log(drr);//[1, 23, 45, 25, 67, 9, 18]
 drr.slice(2,4)
返回: [45, 25]
console.log(drr);//[1, 23, 45, 25, 67, 9, 18]

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

10.splice
splice() 方法用于插入马靠、刪除或替換數(shù)組的元素奄抽。
刪除:可以刪除任意數(shù)量的項(xiàng)甩鳄,2個參數(shù)逞度,要刪除的第一項(xiàng)的位置和要刪除的項(xiàng)數(shù)妙啃。
插入:向指定位置插入任意數(shù)量的項(xiàng)俊戳,只需提供3個參數(shù):起始位置,0(要刪除的項(xiàng)數(shù))和要插入的項(xiàng)(多個)抑胎。
替換:可以向指定位置插入任意數(shù)量的項(xiàng),且同時刪除任意數(shù)量的項(xiàng)渐北,只需指定三個參數(shù),起始的位置赃蛛,要刪除的項(xiàng)數(shù)和要插入的任意數(shù)量的項(xiàng)恃锉。插入的項(xiàng)數(shù)不必與刪除的項(xiàng)數(shù)相等呕臂。
splice()方法始終都會返回一個數(shù)組,該數(shù)組中包含從原始數(shù)組中刪除的項(xiàng)歧蒋。如果沒有刪除任何項(xiàng),則返回一個空數(shù)組谜洽。

var drr = [1, 23, 45, 25, 67, 9, 18];
 drr.splice(2,3)// 刪除
返回: [45, 25, 67]
console.log(drr);//[1, 23, 9, 18]

var drr = [1, 23, 9, 18];
 drr.splice(3,0,56,78,23,45)//插入
 console.log(drr);// [1, 23, 9, 56, 78, 23, 45, 18]
 
var drr =  [1, 23, 9, 56, 99, 78, 23, 45, 18];
 drr.splice(4,3,78,99,76)//替換
返回: [99, 78, 23]
console.log(drr)// [1, 23, 9, 56, 78, 99, 76, 45, 18]

好了瘟芝,都快凌晨2點(diǎn)了褥琐,就總結(jié)這么多了。希望能與大家共勉敌呈。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市造寝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌诫龙,老刑警劉巖析显,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谷异,死亡現(xiàn)場離奇詭異,居然都是意外死亡锦聊,警方通過查閱死者的電腦和手機(jī)歹嘹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進(jìn)店門尺上,熙熙樓的掌柜王于貴愁眉苦臉地迎上來材蛛,“玉大人怎抛,你說我怎么就攤上這事÷砭” “怎么了豆赏?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵迹淌,是天一觀的道長。 經(jīng)常有香客問我唉窃,道長耙饰,這世上最難降的妖魔是什么纹份? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮蔓涧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘元暴。我一直安慰自己,他們只是感情好茉盏,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布鉴未。 她就那樣靜靜地躺著鸠姨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪讶迁。 梳的紋絲不亂的頭發(fā)上连茧,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天啸驯,我揣著相機(jī)與錄音,去河邊找鬼祟峦。 笑死,一個胖子當(dāng)著我的面吹牛搀愧,可吹牛的內(nèi)容都是我干的惰聂。 我是一名探鬼主播,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼搓幌,長吁一口氣:“原來是場噩夢啊……” “哼杆故!你這毒婦竟也來了溉愁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤撤蟆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后堂污,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盟猖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了式镐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡娘汞,死狀恐怖歹茶,靈堂內(nèi)的尸體忽然破棺而出你弦,到底是詐尸還是另有隱情,我是刑警寧澤鳖目,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布缤弦,位于F島的核電站领迈,受9級特大地震影響碍沐,放射性物質(zhì)發(fā)生泄漏狸捅。R本人自食惡果不足惜累提,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望斋陪。 院中可真熱鬧置吓,春花似錦、人聲如沸缔赠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至踢匣,卻和暖如春告匠,著一層夾襖步出監(jiān)牢的瞬間离唬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工男娄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留行贪,地道東北人模闲。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓建瘫,卻偏偏與公主長得像尸折,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子实夹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評論 2 361