Javascript ES6中對象類型Sets的介紹與使用詳解
介紹
ECMAScript 6(以下簡稱ES6)是JavaScript語言的下一代標準。因為當前版本的ES6是在2015年發(fā)布的,所以又稱ECMAScript 2015。
Sets 是ES6(ES2015)中一個新的對象類型,用來創(chuàng)建一系列唯一值的集合。集合中的值可以是簡單的原始類型如字符串(strings)或整數(integers),也可以是更復雜的對象類型如對象字面量或者數組。
基本方法
下面是基本的set及其方法(add, size, has, forEach, delete, clear)的簡單示例:
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
初始化
下面是另一個將數組作為初始值傳進set的示例。需要主要的是初始化的數組是如何被解構的,但是隨后添加的數組將以數組的形式存在:
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: "🐢" }
字符串也是一個有效的迭代,所以也可以被傳入來初始化一個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遍歷
除了在一個set上可以使用forEach外,for...of循環(huán)也可以被用來遍歷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的別名,所以兩個方法其實是完成一樣的事情。使用兩者中的任何一個方法都會返回一個新的可迭代的對象,該對象的值與添加到集合中的順序相同。
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
總結
以上就是這篇文章的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
注:
原文: Introduction to Sets in JavaScript
作者: alligatorio
譯者:smallbone
相關文章
javascript getElementById 使用方法及用法
顧明思義,get-Element-By-Id,就是通過ID來設置/返回HTML標簽的屬性及調用其事件與方法。用這個方法基本上可以控制頁面所有標簽,條件很簡單就是給每個標簽分配一個ID號2008-11-11如何利用JavaScript讀取excel文件并繪制echarts圖形
這篇文章主要介紹了如何利用JavaScript讀取excel文件并繪制echarts圖形,文章通過excel財務報表,并且需要根據這張excel表繪制成各種echarts圖形,需要了解更多詳情的小伙伴可以參考一下文章內內容2022-05-05