资讯专栏INFORMATION COLUMN

ES6学习笔记之Set

xbynet / 3246人阅读

摘要:结构默认可遍历对象所以可以之间使用循环遍历扩展运算符内部使用循环,所以也可以用于结构。如果想遍历的同时改变数组有两种方法可以选择的值是的值是初次拟写不断更新添加笔记

Set

基本属性它和数组类似,但是数组中的成员值是唯一的没有重复值,Set本身是一个构造函数用来生产一个数据结构

let arr = [1,2,3,3,4,5,5,6,5];
let content = new Set(arr);
console.log(content) //1,2,3,4,5,6
set实例和方法

Set结构的实例有以下属性

构造函数,默认就是set函数:Set.prototype.constructor

返回总数,Set.prototype.size可以简写为Set.size

操作方法和遍历方法
add(value) delete(value) has(value) clear()
添加数值返回set本身 删除某个值返回布尔值表示是否成功删除 返回布尔值查看该值是否存在与set 清除所有set成员不返回值
keys( ) values( ) entries( ) forEach( )
返回键名的遍历器 返回键值的遍历器 返回键值对的遍历器 使用回调遍历每一项
map( ) filter( )
遍历返回新数组 过滤筛选数值

Array.from方法可以把Set结构转化为数组

var items = new Set([1, 2, 3, 4, 5]);
var array = Array.from(items);

去重方法

function ces(array) {
  return Array.from(new Set(array));
}
ces([......])
     //let arr = [1,2,2,3,4,3,6,5];
let unique = [...new Set(arr)];

遍历测试

//通用测试属性    
let set = new Set(["red", "green", "blue"]);

//依次替换set属性测试
for (let item of set.keys()) {
  console.log(item);
}
//由于Set结构没有键名,只有键值(或者说键名和键值是同一个值),所以key方法和value方法的行为完全一致。

Set结构默认可遍历对象所以可以之间使用for ... of循环♻️遍历set

for (let x of set) {
  console.log(x);
}

//扩展运算符(...)内部使用for...of循环,所以也可以用于Set结构。
let arr = [...set];

如果想遍历的同时改变数组有两种方法可以选择

//map()
let set = new Set([1, 2, 3]);
set = new Set([...set].map(val => val * 2));
// set的值是2, 4, 6

//Array.from()
let set = new Set([1, 2, 3]);
set = new Set(Array.from(set, val => val * 2));
// set的值是2, 4, 6

初次拟写~不断更新添加笔记

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/54989.html

相关文章

  • ES6学习笔记Set

    摘要:结构默认可遍历对象所以可以之间使用循环遍历扩展运算符内部使用循环,所以也可以用于结构。如果想遍历的同时改变数组有两种方法可以选择的值是的值是初次拟写不断更新添加笔记 Set 基本属性它和数组类似,但是数组中的成员值是唯一的没有重复值,Set本身是一个构造函数用来生产一个数据结构 let arr = [1,2,3,3,4,5,5,6,5]; let content = new Set(a...

    xuxueli 评论0 收藏0
  • ES6学习笔记模块

    摘要:但是一直没有在语言层面支持模块,直到的出现。相信在不久的将来,的模块一定会全面取代和。的模块提供了个新的语法,分别是和。就是模块用来对外暴露数据的接口,具体用法如下。 本文同步自我得博客:http://www.joeray61.com 简介 在当今的Javascript程序中,模块的作用不言而喻,目前广泛应用的主要有AMD(浏览器端)和CommonJS(服务器端)。但是Javascri...

    Airmusic 评论0 收藏0
  • 学习笔记一 基础语法

    摘要:需要注意的是字符串有三个截取方法和和方法用于操作尾部元素,和方法用于操作头部元素。语法它用于删除并添加元素,也可以只删除不添加。对象操作符可以判断对象是否含有某个属性,但是无法判断这个属性是它自己的,还是继承来的。 1.关于ECMAScript ECMA-262经历了多个版本的更新迭代,需要了解一下五个版本: ES5:2009年12月 ES5.1:2011年6月 ES6/ECM...

    Songlcy 评论0 收藏0
  • ES6学习笔记箭头函数

    摘要:特性介绍箭头函数是新增的特性之一,它为这门语言提供了一种全新的书写函数的语法。用生成的函数会定义一个自己的,而箭头函数没有自己的,而是会和上一层的作用域共享。 本文同步自我得博客:http://www.joeray61.com JS中的箭头 箭头在JS里并不算是个新鲜的玩意儿,一直以来,JS都支持-->这样的箭头。 很早的时候有些浏览器还不支持JS,当时的人们为了兼容这些浏览器,需要这...

    Vultr 评论0 收藏0
  • ES6学习笔记Classes

    摘要:静态方法静态方法直接用类名来调用就可以了,熟悉面向对象编程的同学应该都不陌生。在中,一个类不能继承多个类。为了解决这个问题,可以使用。当类表达式有命名时,该命名仅作为类内部使用。 本文同步自我得博客:http://www.joeray61.com 简介 ES6的Classes是在原型链继承的基础上,由语言本身提供的语法糖,并非是一种全新的继承模式。这使得Javascript有一种更加简...

    MSchumi 评论0 收藏0

发表评论

0条评论

xbynet

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<