最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript ES6中對(duì)象類型Sets的介紹與使用詳解

 更新時(shí)間:2017年07月17日 08:42:40   作者:吃素的外星人  
這篇文章主要給大家介紹了關(guān)于Javascript ES6中Sets的介紹與使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

介紹

ECMAScript 6(以下簡(jiǎn)稱ES6)是JavaScript語(yǔ)言的下一代標(biāo)準(zhǔn)。因?yàn)楫?dāng)前版本的ES6是在2015年發(fā)布的,所以又稱ECMAScript 2015。

Sets 是ES6(ES2015)中一個(gè)新的對(duì)象類型,用來(lái)創(chuàng)建一系列唯一值的集合。集合中的值可以是簡(jiǎn)單的原始類型如字符串(strings)或整數(shù)(integers),也可以是更復(fù)雜的對(duì)象類型如對(duì)象字面量或者數(shù)組。

基本方法

下面是基本的set及其方法(add, size, has, forEach, delete, clear)的簡(jiǎn)單示例:

let animals = new Set();

animals.add('🐷');
animals.add('🐼');
animals.add('🐢');
animals.add('🐿');
console.log(animals.size); // 4
animals.add('🐼');
console.log(animals.size); // 4

console.log(animals.has('🐷')); // true
animals.delete('🐷');
console.log(animals.has('🐷')); // false

animals.forEach(animal => {
 console.log(`Hey ${animal}!`);
});

// Hey 🐼!
// Hey 🐢!
// Hey 🐿!

animals.clear();
console.log(animals.size); // 0

初始化

下面是另一個(gè)將數(shù)組作為初始值傳進(jìn)set的示例。需要主要的是初始化的數(shù)組是如何被解構(gòu)的,但是隨后添加的數(shù)組將以數(shù)組的形式存在:

let myAnimals = new Set(['🐷', '🐢', '🐷', '🐷']);

myAnimals.add(['🐨', '🐑']);
myAnimals.add({ name: 'Rud', type: '🐢' });
console.log(myAnimals.size); // 4

myAnimals.forEach(animal => {
 console.log(animal);
});


// 🐷
// 🐢
// ["🐨", "🐑"]
// Object { name: "Rud", type: "🐢" }

字符串也是一個(gè)有效的迭代,所以也可以被傳入來(lái)初始化一個(gè)set:

console.log('Only unique characters will be in this set.'.length); // 43

let sentence = new Set('Only unique characters will be in this set.');
console.log(sentence.size); // 18

For...of遍歷

除了在一個(gè)set上可以使用forEach外,for...of循環(huán)也可以被用來(lái)遍歷sets:

let moreAnimals = new Set(['🐺', '🐴', '🐕', '🐇']);

for (let animal of moreAnimals) {
 console.log(`Howdy ${ animal }`);
}

// Howdy 🐺
// Howdy 🐴
// Howdy 🐕
// Howdy 🐇

Keys 和 Values

Sets也有keys和values方法,由于keys是values的別名,所以兩個(gè)方法其實(shí)是完成一樣的事情。使用兩者中的任何一個(gè)方法都會(huì)返回一個(gè)新的可迭代的對(duì)象,該對(duì)象的值與添加到集合中的順序相同。

let partyItems = new Set(['🍕', '🍾', '🎊']);
let items = partyItems.values();

console.log(items.next());
console.log(items.next());
console.log(items.next());
console.log(items.next().done);

// Object {
// done: false,
// value: "🍕"
// }

// Object {
// done: false,
// value: "🍾"
// }

// Object {
// done: false,
// value: "🎊"
// }

// true

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

注:

原文: Introduction to Sets in JavaScript

作者: alligatorio

譯者:smallbone

譯文地址:https://alligator.io//js/sets-introduction/

相關(guān)文章

  • uniapp如何實(shí)現(xiàn)tabBar之間傳參

    uniapp如何實(shí)現(xiàn)tabBar之間傳參

    這篇文章主要給大家介紹了關(guān)于uniapp如何實(shí)現(xiàn)tabBar之間傳參的相關(guān)資料,文中通過(guò)代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-08-08
  • JavaScript頭像上傳插件源碼分享

    JavaScript頭像上傳插件源碼分享

    這篇文章主要為大家分享介紹了JavaScript頭像上傳插件源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-03-03
  • JS中改變this指向的方法(call和apply、bind)

    JS中改變this指向的方法(call和apply、bind)

    this是javascript的一個(gè)關(guān)鍵字,隨著函數(shù)使用場(chǎng)合不同,this的值會(huì)發(fā)生變化。但是總有一個(gè)原則,那就是this指的是調(diào)用函數(shù)的那個(gè)對(duì)象,通過(guò)本文給大家介紹JS中改變this指向的方法(call和apply、bind),需要的朋友參考下
    2016-03-03
  • 微信小程序模板(template)使用詳解

    微信小程序模板(template)使用詳解

    這篇文章主要為大家詳細(xì)介紹了微信小程序模板template使用的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • js命名空間寫法示例

    js命名空間寫法示例

    這篇文章主要介紹了js命名空間寫法,以完整實(shí)例形式分析了JavaScript命名空間的寫法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-12-12
  • JavaScript實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)時(shí)鐘

    JavaScript實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)時(shí)鐘

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 詳解前端安全之JavaScript防http劫持與XSS

    詳解前端安全之JavaScript防http劫持與XSS

    作為前端,一直以來(lái)都知道HTTP劫持與XSS跨站腳本、CSRF跨站請(qǐng)求偽造。防御這些劫持最好的方法是從后端入手,前端能做的太少。而且由于源碼的暴露,攻擊者很容易繞過(guò)防御手段。但這不代表我們?nèi)チ私膺@塊的相關(guān)知識(shí)是沒(méi)意義的,本文的許多方法,用在其他方面也是大有作用。
    2021-05-05
  • javascript中的with語(yǔ)句學(xué)習(xí)筆記及用法

    javascript中的with語(yǔ)句學(xué)習(xí)筆記及用法

    在本篇文章里小編給大家分享的是關(guān)于javascript中的with語(yǔ)句學(xué)習(xí)筆記及用法,有需要的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • 深入理解Ajax的get和post請(qǐng)求

    深入理解Ajax的get和post請(qǐng)求

    下面小編就為大家?guī)?lái)一篇深入理解Ajax的get和post請(qǐng)求。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • js實(shí)現(xiàn)正則匹配中文標(biāo)點(diǎn)符號(hào)的方法

    js實(shí)現(xiàn)正則匹配中文標(biāo)點(diǎn)符號(hào)的方法

    這篇文章主要介紹了js實(shí)現(xiàn)正則匹配中文標(biāo)點(diǎn)符號(hào)的方法,涉及JavaScript正則匹配與判定的簡(jiǎn)單使用技巧,需要的朋友可以參考下
    2015-12-12

最新評(píng)論

麻江县| 元朗区| 桑日县| 景德镇市| 长泰县| 萨嘎县| 海城市| 凌海市| 江阴市| 溧水县| 铁岭县| 卓尼县| 青海省| 茂名市| 黄冈市| 江源县| 韩城市| 合江县| 阳江市| 绥芬河市| 花莲县| 余姚市| 刚察县| 东莞市| 新平| 资兴市| 罗城| 九龙坡区| 台安县| 株洲县| 神木县| 汾阳市| 阿巴嘎旗| 黎城县| 葵青区| 罗田县| 大足县| 汨罗市| 宜章县| 兰考县| 遂川县|