亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

ECMAScript 6即將帶給我們新的數組操作方法前瞻

2019-11-20 13:29:17
字體:
來源:轉載
供稿:網友

本文介紹ECMAScript 6即將帶給我們新的數組操作方法,以及在怎樣在現有瀏覽器應用這些新的數組特性。

Note: 我將使用交替使用構造器(constructor)和類(class)兩個術語。

類方法
數組(Array)自身所擁有的方法。

Array.from(arrayLike, mapFunc?, thisArg?)

Array.from()的基本功能是,轉換兩種類型的對象成數組。

類數組對象(Array-like objects)

該類對象有長度與索引的屬性。DOM操作符的結果即屬于該類,如document.getElementsByClassName()。

可迭代對象(Iterable objects)

這類對象在取值時,每次只能取一個元素。數組是可迭代的,就如ECMAScript中新的數組結構,映射(Map)和集(Set)。

以下代碼是一個轉換類數組對象到數組的一個示例:

復制代碼 代碼如下:

let lis = document.querySelectorAll('ul.fancy li');
Array.from(lis).forEach(function (li) {
  console.log(node);
});

querySelectorAll()的結果不是一個數組,也不會有forEach()這個方法。這是我們需要在使用這個方法之前,將它轉換成數組的原因。

通過Array.from()使用Mapping
Array.from()同樣也是一個泛型使用map()的替代選擇。

復制代碼 代碼如下:

let spans = document.querySelectorAll('span.name');
// map(), generically:
let names1 = Array.prototype.map.call(spans, s => s.textContent);
// Array.from():
let names2 = Array.from(spans, s => s.textContent);

兩個方法中的第二個參數,都是箭頭函數(arrow function)。
在這個示例中,document.querySelectorAll()的結果又是一個類數組對象,而非數組。這就是我們不能直接調用map()的原因。第一個示例中,為了使用forEach(),我們將類數組對象轉換成了數組。這里我們通過泛型方法和兩個參數版本的Array.from(),而省去了中間步驟。

Holes
Array.from()會忽略數組里缺失的元素 - 洞(holes),它會以未定義的元素(undefined elements)進行對待。

復制代碼 代碼如下:

> Array.from([0,,2])
[ 0, undefined, 2 ]

這就意味著,你可以使用Array.from()來創建或者填充一個數組:

復制代碼 代碼如下:

> Array.from(new Array(5), () => 'a')
[ 'a', 'a', 'a', 'a', 'a' ]
> Array.from(new Array(5), (x,i) => i)
[ 0, 1, 2, 3, 4 ]

如果你想用一個固定的值去填充一個數組,那么Array.prototype.fill()(請看下文)將是一個更好的選擇。第一個即是以上示例的兩種方式。

在數組(Array)子類中的from()
另一個Array.from()的使用場景是,轉換類數組對象或可迭代對象到一個數組(Array)子類的一個實例。如你創建了一個Array的子類MyArray,想將此類對象轉化成MyArray的一個實例,你就可以簡單地使用MyArray.from()。可以這樣使用的原因是,在ECMAScript 6中構造器(constructors)會繼承下去(父類構造器是它子類構造器的原型(prototype))。

復制代碼 代碼如下:

class MyArray extends Array {
  ...
}
let instanceOfMyArray = MyArray.from(anIterable);

你可以將該功能與映射(mapping)結合起來,在一個你控制結果構造器的地方完成映射操作(map operation):

復制代碼 代碼如下:

// from() 亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩性生活视频| 欧美激情一区二区久久久| 亚洲天堂日韩电影| 日韩视频―中文字幕| 在线观看日韩欧美| 精品呦交小u女在线| 日韩成人av网| 日韩免费观看在线观看| 欧美激情第1页| 亚洲网址你懂得| 日韩中文娱乐网| 91精品国产一区| 国内精品视频在线| 久久综合伊人77777蜜臀| 亚洲精品成人久久| 久久九九精品99国产精品| 久久久久久久一| 国产精品爽爽ⅴa在线观看| 欧美成人黑人xx视频免费观看| 久久精品影视伊人网| 美日韩精品视频免费看| 成人日韩av在线| 久久久久久久一区二区三区| 国产欧美亚洲视频| 国内伊人久久久久久网站视频| 日韩成人中文字幕在线观看| 欧美超级免费视 在线| 亚洲高清一区二| 欧美高清自拍一区| 成人久久久久久久| 久久影院资源站| 亚洲最大福利视频| 国模精品视频一区二区| 欧洲亚洲免费视频| 欧美一级成年大片在线观看| 欧洲精品在线视频| 久久久精品一区二区三区| 欧美亚洲一级片| 日本久久亚洲电影| 91精品国产91| 精品在线观看国产| 在线视频一区二区| 色综合色综合网色综合| 国产一区二区在线播放| 69久久夜色精品国产69乱青草| 992tv成人免费影院| 综合136福利视频在线| 亚洲专区在线视频| 亚洲国产精品嫩草影院久久| 欧美精品激情blacked18| 国产精品久久久久福利| 人人澡人人澡人人看欧美| 中文字幕久久精品| 日韩美女视频免费在线观看| 91九色国产社区在线观看| 热99精品只有里视频精品| 91丨九色丨国产在线| 欧美日韩中文在线观看| 亚洲最大在线视频| 欧美性视频在线| 九九热这里只有精品免费看| 中文字幕国产日韩| 国产精品午夜国产小视频| 一区国产精品视频| 成人免费直播live| 美女少妇精品视频| 日韩美女主播视频| 欧美伊久线香蕉线新在线| 精品国产一区二区三区久久久狼| 亚洲精品美女久久久| 亚洲国产日韩欧美在线99| 久久久亚洲精选| 日韩国产精品一区| 国产精品99久久久久久人| 欧美www视频在线观看| 亚洲伊人一本大道中文字幕| 欧美午夜激情在线| 日韩福利伦理影院免费| 91视频-88av| 国内精品伊人久久| 国产91ⅴ在线精品免费观看| 国产精品久久久久久av| 国产亚洲一区二区在线| 亚洲综合成人婷婷小说| 亚洲国产中文字幕久久网| 色综合色综合久久综合频道88| 欧美视频专区一二在线观看| 97精品国产97久久久久久| 久久亚洲精品一区二区| 日韩的一区二区| 2019中文字幕在线观看| 久久这里有精品视频| 91久久精品日日躁夜夜躁国产| 欧美日韩免费网站| www.亚洲成人| 日本久久久久久久久| 亚洲国产精品人人爽夜夜爽| 国产精品福利网站| 91chinesevideo永久地址| 亚洲成人在线网| 日产精品99久久久久久| 亚洲专区中文字幕| 激情久久av一区av二区av三区| 国产一区二区三区视频在线观看| 色悠久久久久综合先锋影音下载| 91精品综合久久久久久五月天| 欧美亚洲免费电影| 一区二区在线视频播放| 久久九九热免费视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产精品久久久久77777| 国产主播在线一区| 亚洲欧美精品一区二区| 欧美激情va永久在线播放| 久久亚洲精品毛片| 国产美女被下药99| 欧洲一区二区视频| 欧美野外猛男的大粗鳮| 亚洲成人av片在线观看| 亚洲午夜精品久久久久久久久久久久| 欧美在线视频免费播放| 激情懂色av一区av二区av| 精品成人av一区| 超碰日本道色综合久久综合| 欧美中文字幕在线播放| 日韩精品免费在线| 欧美疯狂性受xxxxx另类| 亚洲免费av网址| 亚洲视频电影图片偷拍一区| 亚洲电影免费在线观看| 日本久久久久久久| 日韩最新av在线| 午夜精品蜜臀一区二区三区免费| 91丝袜美腿美女视频网站| 亚洲国产欧美一区二区三区久久| 九九热在线精品视频| 亚洲视频电影图片偷拍一区| 国产精品999999| 国产亚洲欧洲高清| 欧美黄色性视频| 亚洲男人第一av网站| 亚洲美女福利视频网站| 亚洲男人第一av网站| 欧美激情三级免费| 欧美黑人又粗大| 国内外成人免费激情在线视频| 中文字幕欧美视频在线| 日韩欧美中文第一页| 97国产精品免费视频| www.亚洲一区| 成人免费在线视频网站| 91探花福利精品国产自产在线| 91在线视频导航| 黄色一区二区在线观看| 美女啪啪无遮挡免费久久网站| 国产欧美一区二区白浆黑人| 亚洲美女在线看| 日本91av在线播放| 91久久精品国产| 日韩电影免费在线观看中文字幕| 国产不卡av在线免费观看| 欧美另类极品videosbestfree| 国产精品美女免费| 久久国产精品久久久久久|