最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

ES6中Set的用法介绍(代码示例)

来源:懂视网 责编:小采 时间:2020-11-27 19:29:07
文档

ES6中Set的用法介绍(代码示例)

ES6中Set的用法介绍(代码示例):本篇文章给大家带来的内容是关于ES6中Set的用法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。概述Set是一个新的数据结构,和其他语言的特性差不多,当然,作为js中的Set,他还是有一些属于js的特点。初始化new Se
推荐度:
导读ES6中Set的用法介绍(代码示例):本篇文章给大家带来的内容是关于ES6中Set的用法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。概述Set是一个新的数据结构,和其他语言的特性差不多,当然,作为js中的Set,他还是有一些属于js的特点。初始化new Se

本篇文章给大家带来的内容是关于ES6中Set的用法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

概述

Set是一个新的数据结构,和其他语言的特性差不多,当然,作为js中的Set,他还是有一些属于js的特点。

初始化

new Set([iterable]);

初始化一个Set有一个可选的参数,这个参数必须是一个可迭代的对象,可迭代对象包括String、Array、Array-Like obejct(Arguments、NodeList)、Typped Array、Set、Map和用户定义的可迭代对象

字符串

new Set('1234') // Set(4) {"1", "2", "3", "4"}

数组

new Set([1,2,3,4]) // Set(4) {1, 2, 3, 4}

arguments

function sum(){
 return new Set(arguments)
}
sum(1,2,3,4) // Set(4) {1, 2, 3, 4}

Set

new Set(new Set([1,2,3,4])) // Set(4) {1, 2, 3, 4}

添加值

初始化一个Set之后,可以继续往里面添加值

let set=new Set()
set.add(1)
set.add(1)
set.add(1)
console.log(set) // Set(1) {1}

借用这个特性可以搞很多事,比如过滤重复值

new Set([1,1,2,3]) // Set(3){1,2,3}

但是注意,两个相同的对象字面量是不同的对象,具有不同的引用,所以Set是无法将两个不同引用的对象标记为同一个的,即使他们看过去是一样的

let a={num:1}
let b={num:1}
console.log(a===b) //false
new Set(a, b)// Set(2){{num:1},{num:2}}
let c=a
console.log(c===a)//true
new Set(a,c)// Set(1){{num:1}}

判断是否包含

let set=new Set([1,2,3])
set.has(1) // true
set.has(4) //false

获取数量

let set=new Set([1,2,3])
set.size //3

删除

let set=new Set([1,2,3])
set.delete(1)// true
set.delete(1)// false

清空

let set=new Set([1,2,3])
set.clear()
console.log(set) // Set(0){}

遍历

let set=new Set([1,2,3])
set.forEach((s)=>{console.log(s)})
// 1
// 2
// 3

获取迭代器

let set=new Set([1,2,3])
let entries=set.entries()
console.log(entries.next().value) // [1,1]
console.log(entries.next().value) // [2,2]
console.log(entries.next().value) // [3,3]
console.log(entries.next().value) // undefined

for(let item of set){
 console.log(item)
}
// 1
// 2
// 3

获取键迭代器

let set=new Set([1,2,3])
let keys=set.keys()
console.log(keys.next().value) // 1
console.log(keys.next().value) // 2
console.log(keys.next().value) // 3
console.log(keys.next().value) // undefined

for(let {key} of set){
 console.log(key)
}
// 1
// 2
// 3

获取值迭代器

let set=new Set([1,2,3])
let values=set.values()
console.log(values.next().value) // 1
console.log(values.next().value) // 2
console.log(values.next().value) // 3
console.log(values.next().value) // undefined

for(let {value} of set){
 console.log(value)
}
// 1
// 2
// 3

文档

ES6中Set的用法介绍(代码示例)

ES6中Set的用法介绍(代码示例):本篇文章给大家带来的内容是关于ES6中Set的用法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。概述Set是一个新的数据结构,和其他语言的特性差不多,当然,作为js中的Set,他还是有一些属于js的特点。初始化new Se
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top