集合

作者: skoll | 来源:发表于2020-05-31 11:25 被阅读0次

简介

1 .集合的成员是无限的
2 .集合中的成员都是唯一的
3 .

集合的操作

1 .合并
2 .交集
3 .补集

es6有专门的内置的结构,不用自己写了

const s=new Set()
// 定义set
// 1.可以接受一个数组,或者其他具有iterable接口的其他数据结构作为参数
// const divs=new Set(document.querySelectorAll('.div'))

let old=[1,2,3,4,5,1,2]
// 2.去重

// 2.1去重数组
// console.log([...new Set(old)])

let str='aabbc'
//2.2去重字符串
// console.log([...new Set(str)].join(''))




old.map((v)=>{
    s.add(v)
})
// 3.添加数据

// 3.1向set添加数据的时候,不会发生类型转换,所以5,"5"是不同的值,set用来判断两个值是否不同。类似于===

// 3.2添加对象总是成功的,因为他会认为两个对象总是不相等的

// console.log(s)


// 属性
// 返回set里面数据的成员
// console.log(s.size)


// 方法

// 操作方法

//添加
s.add("hello")

// 删除
s.delete("hello")

// 判断是否是成员
// console.log(s.has("hello"))

// 清除
// s.clear()

// set转换为array
// console.log([...s])
// console.log(Array.from(s))



// 遍历方法
// 1 .set的遍历顺序就是插入顺序,所以这个可以做成有序的对象
// for(let x of s){
//     console.log(x)
// }

// s.forEach((x)=>{
//     console.log(x)
// })

// s.map((x)=>{
//     console.log(x)
// })
// 这个是不行的
// 必须这样转一下,用一个第三方的操作
let sArray=[...s]
// sArray.map((x)=>{
//     console.log(x)
// })

Set.prototype.union=function(arr1,arr2){
    return new Set([...arr1,...arr2])
}

// 交集
function intersect(a,b){
    return new Set([...a].filter(x=>b.has(x)))
}

// 补集
function difference(a,b){
    return new Set([...a].filter(x=>!b.has(x)))
}

console.log(s.union([1,2],[3,4]))

let a=new Set([1,2,3])
let b=new Set([2,3,4])
console.log(difference(a,b))
console.log(intersect(a,b))

相关文章

  • 我的Swift的学习总结 -->第二周

    集合 集合:Set,定义一个集合可以写成:var 集合名 : Set<集合类型> = [集合元素],具体的集合应用...

  • markdown 测试

    集合 集合 集合 引用

  • kotlin学习第五天:集合,高阶函数,Lambda表达式

    集合 list集合 list集合分为可变集合与不可变集合。由list of创建的集合为不可变集合,不能扩容,不能修...

  • kotlin练习 ---- 集合练习

    kotlin练习 - 集合练习 Set集合 Set集合创建 Set集合的使用 List集合 List集合创建 Li...

  • 集合总结

    集合 集合分为单列集合和双列集合两种: 一.单列集合: Collection是单列集合的顶级接口: 其中有三类集合...

  • 映射、元组、集合

    映射 元组 集合 集合之seq 集合之set 集合之map

  • 16.Collection集合

    主要内容: Collection 集合 迭代器 增强for List 集合 Set 集合 1,集合 集合是java...

  • 集合与有序集合

    集合分为有序集合 (zset) 和无序集合 (set), 一般无序集合也直接说成集合 无序集合 (set) 无序集...

  • python入坑第八天|集合

    好的,各位蛇友,我们今天来学习集合。 内容: 集合的创建 集合操作符号 集合的内置函数 集合的创建 集合用set(...

  • 集合框架

    集合框架的概念 集合:存放数据的容器 集合框架:java中,用于表示集合,以及操作集合的类和接口的统称 数组与集合...

网友评论

      本文标题:集合

      本文链接:https://www.haomeiwen.com/subject/ffnhzhtx.html