国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

ES6: 數(shù)組

lavor / 1467人閱讀

摘要:中的方法遍歷一下數(shù)組中的每個(gè)選項(xiàng)返回一個(gè)新的數(shù)組。還可以接受第二個(gè)參數(shù),作用類(lèi)似與數(shù)組的方法,用于對(duì)每個(gè)元素進(jìn)行處理。這個(gè)方式是用于將一組值,轉(zhuǎn)換為數(shù)組。可選到該位置前停止讀取數(shù)據(jù),默認(rèn)等于數(shù)組長(zhǎng)度。如果是負(fù)數(shù),表示倒數(shù)。

ES6中數(shù)組增加了很多新的方法,但是先回顧下之前ES5中的數(shù)組的方法。

ES5中的方法

Array.prototype.forEach
遍歷一下數(shù)組中的每個(gè)選項(xiàng)

Array.prototype.map, Array.prototype.filter: 返回一個(gè)新的數(shù)組。
兩者的區(qū)別是:map返回的是,由原數(shù)組中的每個(gè)元素調(diào)用一個(gè)方法后返回的新數(shù)組;filter是通過(guò)指定函數(shù)測(cè)試,然后創(chuàng)建了個(gè)新的數(shù)組;

Array.prototype.some,Array.prototype.every: 返回的是Boolean值
some只要有一個(gè)符號(hào)就返回;every只要有一個(gè)不符合就返回。

Array.prototype.reduce, Array.prototype.reduceRight:相當(dāng)于一個(gè)迭代的過(guò)程,返回最終的結(jié)果。可以傳4個(gè)參數(shù):previous, current, index, array.

indexOf, lastIndexOf

ES6中新增的方法 Array.from()

這個(gè)方法是將對(duì)象轉(zhuǎn)為真正的數(shù)組,這個(gè)對(duì)象有兩種類(lèi)型:類(lèi)似數(shù)組的對(duì)象和可遍歷的對(duì)象(如ES6中的Set和Map)

let arrayLike = {
    "0": "a",
    "1": "b",
    "2": "c",
    length: 3
};

// ES5的寫(xiě)法
var arr1 = [].slice.call(arrayLike); // ["a", "b", "c"]

// ES6的寫(xiě)法
let arr2 = Array.from(arrayLike); // ["a", "b", "c"]

常用的場(chǎng)景

常見(jiàn)的類(lèi)似數(shù)組對(duì)象是NodeList集合和arguments

Array.from("hello");//["h","e","l","l","o"]

let namesSet = new Set(["a","b"])
Array.from(namesSet);//["a","b"]

Array.from([1,2,3])//[1,2,3]

但有一點(diǎn),擴(kuò)展運(yùn)算符(...)也可以將某些數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)為數(shù)組

var args = [...arguments];

[...document.querySelectorAll("div")]

其實(shí)擴(kuò)展運(yùn)算符背后調(diào)用的是遍歷器接口(Symbol.iterator),如果一個(gè)對(duì)象沒(méi)有部署成這個(gè)接口,就無(wú)法轉(zhuǎn)換。Array.from方法則還支持類(lèi)似的數(shù)組對(duì)象,但是這種類(lèi)似數(shù)組對(duì)象,必須要有l(wèi)ength屬性,如果沒(méi)有,就不能轉(zhuǎn)換。

Array.from還可以接受第二個(gè)參數(shù),作用類(lèi)似與數(shù)組的map方法,用于對(duì)每個(gè)元素進(jìn)行處理。

Array.of()

這個(gè)方式是用于將一組值,轉(zhuǎn)換為數(shù)組。

Array.of(3,11,8)//[3,11,8]

這個(gè)方法的主要目的,是彌補(bǔ)數(shù)組構(gòu)造函數(shù)Array()的不足

new Array(3)//[undefined*3]

Array.of可以替代Array()或者new Array()

Array.of()//[]
Array.of(undefined)//[undefined]
Array.of(1)//[1]
Array.of(1,2)//[1,2]
copyWidthin()

將制定位置的成員復(fù)制到其他位置,然后返回當(dāng)前數(shù)組,就是使用這個(gè)方法,修改當(dāng)前數(shù)組。
Array.prototype.copyWithin(target, start = 0, end = this.length)

target(必選):從該位置開(kāi)始替換數(shù)據(jù)

start(可選):從該位置開(kāi)始讀取數(shù)據(jù),默認(rèn)為0,如果是負(fù)數(shù),表示倒數(shù)。

end(可選):到該位置前停止讀取數(shù)據(jù),默認(rèn)等于數(shù)組長(zhǎng)度。如果是負(fù)數(shù),表示倒數(shù)。

[1,2,3,4,5].copyWidthin(0, 3)//[4,5,3,4,5]

[1,2,3,4,5].copyWidthin(0,3,4)//[3,2,3,4,5]
[1,2,3,4,5].copyWidthin(0,-2,-1)//[4,2,3,4,5]

find(), findIndex()

find(): 用于找到第一個(gè)符合條件的數(shù)組成員
findIndex(): 返回第一個(gè)符合條件的數(shù)組成員位置

fill()

這個(gè)方式使用一個(gè)定值,填充一個(gè)數(shù)組

["a","b","c"].fill(7)//[7,7,7]
entries() keys() values()
for (let index of ["a", "b"].keys()) {
  console.log(index);
}
// 0
// 1

for (let elem of ["a", "b"].values()) {
  console.log(elem);
}
// "a"
// "b"

for (let [index, elem] of ["a", "b"].entries()) {
  console.log(index, elem);
}
// 0 "a"
// 1 "b"
includes()

這個(gè)方法表示某個(gè)數(shù)組是否包含給定的值

數(shù)組的空位,數(shù)組的空位和undefined不是同一個(gè)概念

0 in [undefined, undefined, undefined] // true
0 in [, , ,] // false
空位處理

ES5中

forEach,filter,every,some會(huì)跳過(guò)空位
map會(huì)跳過(guò)空位,但會(huì)保留這個(gè)值
join(),toString()會(huì)將空位視為undefined,而undefined和null會(huì)被處理成空字符串.

ES6會(huì)將空位轉(zhuǎn)為undefined.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/86852.html

相關(guān)文章

  • Javascript內(nèi)置對(duì)象新增接口列表

    網(wǎng)上很少有提供不同版本接口對(duì)比的文章,所以自己總結(jié)一下。 Array Method Description Modify Version concat 連接多個(gè)數(shù)組,返回?cái)?shù)組副本,參數(shù)可以為值或數(shù)組 否 ES3 join 把數(shù)組元素組合為字符串 否 ES3 pop 刪除并返回最后一個(gè)元素 是 ES3 push 向數(shù)組末尾添加一個(gè)或多個(gè)值,返回?cái)?shù)組長(zhǎng)度 是 ES3 reve...

    xuhong 評(píng)論0 收藏0
  • ES6核心特性

    摘要:報(bào)錯(cuò)不報(bào)此外還有個(gè)好處就是簡(jiǎn)化回調(diào)函數(shù)正常函數(shù)寫(xiě)法箭頭函數(shù)寫(xiě)法改變指向長(zhǎng)期以來(lái),語(yǔ)言的對(duì)象一直是一個(gè)令人頭痛的問(wèn)題,在對(duì)象方法中使用,必須非常小心。 前言 ES6 雖提供了許多新特性,但我們實(shí)際工作中用到頻率較高并不多,根據(jù)二八法則,我們應(yīng)該用百分之八十的精力和時(shí)間,好好專(zhuān)研這百分之二十核心特性,將會(huì)收到事半功倍的奇效!寫(xiě)文章不容易,請(qǐng)大家多多支持與關(guān)注!本文首發(fā)地址GitHub博客(...

    loostudy 評(píng)論0 收藏0
  • ES6核心特性

    摘要:報(bào)錯(cuò)不報(bào)此外還有個(gè)好處就是簡(jiǎn)化回調(diào)函數(shù)正常函數(shù)寫(xiě)法箭頭函數(shù)寫(xiě)法改變指向長(zhǎng)期以來(lái),語(yǔ)言的對(duì)象一直是一個(gè)令人頭痛的問(wèn)題,在對(duì)象方法中使用,必須非常小心。 前言 ES6 雖提供了許多新特性,但我們實(shí)際工作中用到頻率較高并不多,根據(jù)二八法則,我們應(yīng)該用百分之八十的精力和時(shí)間,好好專(zhuān)研這百分之二十核心特性,將會(huì)收到事半功倍的奇效!寫(xiě)文章不容易,請(qǐng)大家多多支持與關(guān)注!本文首發(fā)地址GitHub博客(...

    _DangJin 評(píng)論0 收藏0
  • [ ES6 ] 快速掌握常用 ES6 (二)

    摘要:本系列文章適合快速掌握入門(mén)語(yǔ)法,想深入學(xué)習(xí)的小伙伴可以看看阮一峰老師的入門(mén)本篇文章是對(duì)之前文章的一個(gè)補(bǔ)充,可以使代碼更簡(jiǎn)潔函數(shù)參數(shù)默認(rèn)值在傳統(tǒng)語(yǔ)法中如果想設(shè)置函數(shù)默認(rèn)值一般我們采用判斷的形式在新的語(yǔ)法中我們可以在參數(shù)聲明的同時(shí)賦予默認(rèn)值參數(shù) 本系列文章適合快速掌握 ES6 入門(mén)語(yǔ)法,想深入學(xué)習(xí) ES6 的小伙伴可以看看阮一峰老師的《ECMAScript 6 入門(mén)》 本篇文章是對(duì)之前文章...

    hidogs 評(píng)論0 收藏0
  • 你該知道的ES6那些事兒

    摘要:最近重構(gòu)了一個(gè)項(xiàng)目,引入了部分用法,最大的感受是讓這門(mén)語(yǔ)言變得更加嚴(yán)謹(jǐn),更加方便。通過(guò)該方法獲得位置后還得比較一次才能判斷是否存在。再來(lái)看看的寫(xiě)法使用數(shù)組來(lái)初始化一個(gè),構(gòu)造器能確保不重復(fù)地使用這些值。下面提供鏈接,供有興趣的朋友參考。 最近重構(gòu)了一個(gè)SPA項(xiàng)目,引入了部分ES6用法,最大的感受是ES6讓javascript這門(mén)語(yǔ)言變得更加嚴(yán)謹(jǐn),更加方便。本篇將結(jié)合實(shí)戰(zhàn)經(jīng)驗(yàn),對(duì)最常用的部...

    CoffeX 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<