栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

Javascript ES6中对象类型Sets的介绍与使用详解

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Javascript ES6中对象类型Sets的介绍与使用详解

介绍

ECMAscript 6(以下简称ES6)是Javascript语言的下一代标准。因为当前版本的ES6是在2015年发布的,所以又称ECMAscript 2015。

Sets 是ES6(ES2015)中一个新的对象类型,用来创建一系列唯一值的集合。集合中的值可以是简单的原始类型如字符串(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循环也可以被用来遍历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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/86265.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号