国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

ES6 新增的創(chuàng)建數(shù)組的方法(小結(jié))

2024-05-06 15:36:18
字體:
供稿:網(wǎng)友

在ES6之前,創(chuàng)建數(shù)組的方式有2種:

一: 通過數(shù)組字面量

let array = [1,2,3];console.log(array);//[1,2,3]

二: 通過new Array()創(chuàng)建數(shù)組

let array = new Array(1, 2, 3);console.log(array); //[1,2,3]

在大多數(shù)情況下new Array()運行良好:

let array = new Array(1, 2);console.log(array.length); //2console.log(array[0]); //1console.log(array[1]); //2array = new Array('a');console.log(array.length); //1console.log(array[0]);//'a'array = new Array(1, 'a');console.log(array.length); // 2console.log(array[0]);//1console.log(array[1]);//'a'

但是new Array()有一種詭異的情況:

let array = new Array(2);console.log(array[0]); // undefinedconsole.log(array[1]);// undefinedconsole.log(array.length); // 2 

當(dāng)我們給new Array()傳遞單個數(shù)字參數(shù)時,這個數(shù)字不是作為數(shù)組元素,而是該數(shù)組的length屬性而存在,而數(shù)組本身則是一個空數(shù)組。

為了解決上面這個令人類沒有安全感的特性,ES6引入了Array.of()來解決這個問題:

三:Array.of()

顧名思義,of()方法就是以它接受到的參數(shù)作為元素來創(chuàng)造數(shù)組,上面我們說的單個數(shù)字參數(shù)的情況也同樣適用:

let array = Array.of(3);console.log(array.length); // 1console.log(array[0]); // 3array = Array.of(1, 2);console.log(array.length);// 2console.log(array[0]); // 1console.log(array[1]);// 2array = Array.of('a');console.log(array.length);// 1console.log(array[0]);// 'a'array = Array.of(1, 'a');console.log(array.length); // 2console.log(array[0]);// 1console.log(array[1]);// 'a'

四:Array.from()

ES6還增加了一個Array.from(),也是用了創(chuàng)建一個數(shù)組。它主要用在以類數(shù)組對象和可迭代對象為藍(lán)本,創(chuàng)建對應(yīng)的數(shù)組。

1: Array.from(類數(shù)組對象)

我們最熟悉的類數(shù)組對象,應(yīng)該就是function的arguments對象了。接下來,我們看一個用Array.from()創(chuàng)建包含arguments元素的數(shù)組:

function createArrayFrom() {  console.log(arguments instanceof Array); // false  return Array.from(arguments);}let array = createArrayFrom(1, 2, 3);console.log(array instanceof Array); // trueconsole.log(array.length); //3console.log(array[0]);//1console.log(array[1]);//2console.log(array[2]);//3console.log(array.indexOf(2)); //1

2: Array.from(可迭代對象)

Array.from()也可以把一個可迭代對象轉(zhuǎn)換為數(shù)組:

let iteratorObject = {  *[Symbol.iterator](){    yield 1;    yield 2;    yield 3;  }};let array = Array.from(iteratorObject);console.log(array instanceof Array); // trueconsole.log(array.length); // 3console.log(array[0]); // 1

五:Array.from()的第二個參數(shù)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 招远市| 西安市| 夏河县| 论坛| 沈阳市| 海兴县| 博罗县| 广宁县| 涞源县| 德化县| 留坝县| 凤阳县| 汤阴县| 大悟县| 远安县| 洛宁县| 江源县| 福清市| 英超| 霍城县| 仁怀市| 清流县| 防城港市| 剑川县| 溧水县| 萝北县| 托克逊县| 开原市| 丰顺县| 桃江县| 石景山区| 万安县| 泽州县| 莎车县| 墨竹工卡县| 平度市| 宜兰县| 土默特右旗| 常州市| 通化市| 夹江县|