首页 > 其他 > 详细

新的数据结构Set

时间:2021-03-03 21:35:10      阅读:22      评论:0      收藏:0      [点我收藏+]

// 一种新的数据解构 set
// 成员值是唯一的
// let s = new Set([1, 2, 3])

// // s.add(‘imooc‘).add(‘set‘) // 增加 链式操作
// // s.delete(2) // 删除
// // // s.clear() // 清空所有数据
// // console.log(s.has(1)) // 判断set里是否有某一个值 返回布尔值

// // // console.log(s.size) // 判断set 里有多少值
// console.log(s)
//遍历
// s.forEach(item => {
// console.log(item)
// })
// for (let item of s) {
// console.log(item)
// }

// for (let item of s.keys()) {
// console.log(item)
// }

// for (let item of s.values()) {
// console.log(item)
// }

// for (let item of s.entries()) {
// console.log(item[0], item[1])
// }
// set 也有key value 但是值是一样的

//set 的应用 数组去重
// let arr = [1, 2, 3, 2, 5, 1]
// let s = new Set(arr)
// console.log(s)
// let arr1 = [1, 2, 3, 4]
// let arr2 = [2, 3, 4, 5, 6]
// //数组合并去重
// // let s = new Set([...arr1, ...arr2])
// // console.log(s)
// // 不想得到set 想得到一个数组
// //方法一
// // console.log([...s])
// //方法二
// // console.log(Array.from(s))

// // 交集
// let s1 = new Set(arr1)
// let s2 = new Set(arr2)

// // let result = new Set(arr1.filter(item => s2.has(item)))
// // console.log(Array.from(result))

// // 差集
// let arr3 = new Set(arr1.filter(item => !s2.has(item)))
// let arr4 = new Set(arr2.filter(item => !s1.has(item)))
// console.log([...arr3, ...arr4])

//WeakSet //只能够存储对象

// let ws = new WeakSet()
// const obj1 = { name: ‘hky‘ }
// const obj2 = { age: 25 }
// ws.add(obj1)
// ws.add(obj2)
// ws.delete(obj1)
// console.log(ws)
// console.log(ws.has(obj2))
// WeakSet 不允许遍历 弱引用 并不会被垃圾回收机制所考虑 不存在垃圾回收问题
// 适合临时存储一些对象
//垃圾回收机制 GC

新的数据结构Set

原文:https://www.cnblogs.com/hekeying/p/14476853.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!