ES6新特性有哪些液走?快來看看吧(五)

今天講一下數(shù)組的拓展方法;

拓展運(yùn)算符(spread)


可以很直觀的看到他的作用 是將一個數(shù)組轉(zhuǎn)為用逗號分隔的參數(shù)序列贾陷。

該運(yùn)算符用在函數(shù)的調(diào)用

例如


注意只有在函數(shù)調(diào)用時缘眶,才可以放在圓括號中,否則會報(bào)錯昵宇。

擴(kuò)展運(yùn)算符的出現(xiàn)代替了函數(shù)apply方法磅崭;


因?yàn)樵贓S5中儿子,push方法的參數(shù)不能是數(shù)組瓦哎,所以只能通過apply方法變通使用push方法,有了spead方法柔逼,就可以直接將數(shù)組傳入push方法蒋譬。

它有那些應(yīng)用呢?


先看看這個:

數(shù)組是復(fù)合的數(shù)據(jù)類型愉适,直接復(fù)制的話犯助,只是復(fù)制了指向底層數(shù)據(jù)結(jié)構(gòu)的指針,而不是克隆一個全選的數(shù)組维咸。

上述代碼中剂买,a2并不是a1 的克隆,而是同一份數(shù)據(jù)的另一個指針癌蓖。修改a2瞬哼,會直接導(dǎo)致a1的變化。

ES5中只能用變通的方法來復(fù)制數(shù)組租副。


a1會返回原數(shù)組的克隆坐慰,在修改a2就不會對a1產(chǎn)生影響了。



兩種方法都是克掠蒙结胀;

擴(kuò)展運(yùn)算符提供了數(shù)組合并的新方法赞咙。


但是這樣兩種方法都是淺拷貝。

擴(kuò)展運(yùn)算符也可以和解構(gòu)賦值一起使用糟港,用于生成數(shù)組攀操;


但是如果將擴(kuò)展運(yùn)算符用于解構(gòu)賦值,只能放在參數(shù)的最后一位着逐,否則會報(bào)錯崔赌。

擴(kuò)展運(yùn)算符還可以將字符串轉(zhuǎn)為真正的數(shù)組。


Array.from();

此方法用于將類似數(shù)組的對象和可遍歷的對象轉(zhuǎn)為真正的數(shù)組耸别,從而使用數(shù)組的方法健芭;


ES6寫法


ES5寫法

然鵝在實(shí)際應(yīng)用中,常見的類似數(shù)組的對象是DOM操作返回的Nodelist集合秀姐。以及內(nèi)部函數(shù)arguments對象慈迈。用此方法就可以將他們轉(zhuǎn)為真正的數(shù)組。

只要是部署了Iterator接口的數(shù)據(jù)結(jié)構(gòu)省有,Array.from都可以將其轉(zhuǎn)為數(shù)組痒留。

Array.from()還支持類似數(shù)組的對象,本質(zhì)特征只有一點(diǎn)蠢沿。必須擁有l(wèi)ength屬性伸头。


而且此方法還可以接收第二個參數(shù),類似于數(shù)組map的方法舷蟀,用來對每個元素進(jìn)行處理恤磷,將處理后的值放入返回的數(shù)組。


Array.of()

此方法用于將一組值野宜,轉(zhuǎn)為數(shù)組扫步。


上面描述中,可以看懂匈子。一個參數(shù)河胎,兩個參數(shù),及三個參數(shù)每次返回的值不同虎敦。參數(shù)只有一個正整數(shù)時游岳,實(shí)際上指定數(shù)組的長度。參數(shù)個數(shù)不少于2個時其徙,才返回由參數(shù)組成的新數(shù)組胚迫。

Array.of(),總是返回參數(shù)值組成的數(shù)組擂橘。如果沒有參數(shù)蕾管,就會返回一個空數(shù)組芯咧。

find()疆虚;

此方法用于找出第一個復(fù)合條件的數(shù)組成員,參數(shù)是一個回調(diào)函數(shù)恼五,所有的成員依次執(zhí)行該回調(diào)函數(shù),直到找到第一個返回值為true的成員哭懈。然后返回該成員灾馒,沒有找到。返回undefined遣总。



上面代碼中睬罗,find方法的回調(diào)函數(shù)可以接受三個參數(shù),依次為當(dāng)前的值旭斥,當(dāng)前的位置容达,以及原數(shù)組。

findIndex():此方法和find()方法非常類似垂券,返回的是第一個條件的數(shù)組成員位置花盐。如果都不符合返回-1

fill()菇爪;

此方法使用給定值算芯,填充一個數(shù)組。

此方法用于填充空數(shù)組非常方便凳宙,但是數(shù)組中已有的元素熙揍,會被全部抹去

此方法還可以接受第二個和第三個參數(shù)氏涩。用于指定填充的其實(shí)位置和結(jié)束位置届囚。


flat();

此方法用于將嵌套的數(shù)組‘拉平’削葱,變成一維數(shù)組奖亚,該方法返回一個數(shù)組淳梦,對原數(shù)據(jù)沒有影響析砸。


但是。此方法默認(rèn)拉平一層爆袍,可以進(jìn)行傳參首繁,將參數(shù)寫成一個整數(shù),表示想要拉平的層數(shù)陨囊,默認(rèn)為1.

flatMap();

此方法的作用是弦疮,對原數(shù)組的每個成員執(zhí)行一次函數(shù),然后在對返回值進(jìn)行flat()方法蜘醋。

返回值:返回一個新數(shù)組胁塞,

不會改變原數(shù)組。


但是默認(rèn)只能展開一層,

此方法的參數(shù)是一個遍歷函數(shù)啸罢,該函數(shù)可以接受三個參數(shù)编检,分別是當(dāng)前數(shù)組成員,當(dāng)前數(shù)組成員的位置(從零開始)扰才,原數(shù)組允懂;

at();

ES6之前衩匣,數(shù)組不支持負(fù)索引蕾总,先要引用數(shù)組的最后一個成員,只能使用arr[arr.length-1];

ES6中增加了新方法琅捏,可以支持負(fù)數(shù)索引生百。


如果參數(shù)位置超出了數(shù)組范圍,at()返回undefined柄延;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末置侍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子拦焚,更是在濱河造成了極大的恐慌蜡坊,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赎败,死亡現(xiàn)場離奇詭異秕衙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)僵刮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門据忘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人搞糕,你說我怎么就攤上這事勇吊。” “怎么了窍仰?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵汉规,是天一觀的道長。 經(jīng)常有香客問我驹吮,道長针史,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任碟狞,我火速辦了婚禮啄枕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘族沃。我一直安慰自己频祝,他們只是感情好泌参,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著常空,像睡著了一般及舍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上窟绷,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天锯玛,我揣著相機(jī)與錄音,去河邊找鬼兼蜈。 笑死攘残,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的为狸。 我是一名探鬼主播歼郭,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼辐棒!你這毒婦竟也來了病曾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤漾根,失蹤者是張志新(化名)和其女友劉穎泰涂,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辐怕,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逼蒙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了寄疏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片是牢。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖陕截,靈堂內(nèi)的尸體忽然破棺而出驳棱,到底是詐尸還是另有隱情,我是刑警寧澤农曲,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布社搅,位于F島的核電站,受9級特大地震影響朋蔫,放射性物質(zhì)發(fā)生泄漏罚渐。R本人自食惡果不足惜却汉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一驯妄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧合砂,春花似錦青扔、人聲如沸源织。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谈息。三九已至,卻和暖如春凛剥,著一層夾襖步出監(jiān)牢的瞬間侠仇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工犁珠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留逻炊,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓犁享,卻偏偏與公主長得像余素,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子炊昆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

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