码迷,mamicode.com
首页 > 其他好文 > 详细

ES6之新增set数据结构

时间:2019-01-17 19:49:22      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:class   ons   一个   图片   重复   用法   删除   操作   回调   

技术分享图片

学习set

set是ES6中的新增的数据结构,是一种构造函数,类似于数组,但是里面的元素都是唯一的,不重复的。

例如:

const set = new Set();
[1,2,3,4,5,2,1,2,1,2].forEach( x => set.add(x) );
for(let i of set) {
    console.log(i); // 1 2 3 4 5
}

set的属性

set的属性包括constructor(set原型)和size(用来记录set的大小)。

用法:Set.prototype.constructor,Set.prototype.size

例如:

let set = new Set([1,2,3,2,2,2,1,2,34,4,45,523]);
console.log(set.constructor); // ? Set() { [native code] }
console.log(set.size); // 7

set的方法

set的操作方法

  • add(val); 添加某个值
  • delete(val); // 删除某个值,返回布尔值,表示结果。
  • has(val); // 判断该值是否存在于Set中。
  • clear(); // 清楚所有的值

例如:

let set = new Set();
//1.add();
set.add(12).add(32);
console.log(set); // Set(2) {12, 32}
// 2.delete(val);
set.delete(32);
console.log(set); // Set(1) {12}
//3.has(val);
console.log(set.has(88)); // false
//4.clear();
set.clear();
console.log(set); // Set(0) {}

set的遍历方法

set的键和值是同一个值。

  • keys() 返回键名的方法
  • values() 返回键值的方法
  • entries() 返回键值对的方法
  • forEach() 用回调函数遍历各个元素的方法

例如:

let set = new Set([2,2,2,1,5,34,45,33,23,32]);

for(let item of set.keys()) {
    console.log(item); // // 2 1 5 34 45 33 23 32
}

for(let item of set.values()) {
    console.log(item); // // 2 1 5 34 45 33 23 32
}

for(let item of set.entries()) {
    console.log(item); // [2, 2] [1, 1] [5, 5] [34, 34] [45, 45] [33, 33] [23, 23] [32, 32]
}

set.forEach((value,key) => console.log(key+ ‘=‘ +value)); // 2=2 1=1 5=5 34=34 45=45 33=33 23=23 32=32

应用

...运算符和Array.from以及mapfilter都可以遍历set结构。

未完待续。

ES6之新增set数据结构

标签:class   ons   一个   图片   重复   用法   删除   操作   回调   

原文地址:https://www.cnblogs.com/guanqiweb/p/10283653.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!