js之集合

/*
1.集合元素没有顺序
2.集合元素不能重复,即元素唯一
*/
function setData() {
    this.items = {};
    //判断集合是否有元素
    setData.prototype.hasOwn = function(value) {
            return this.items.hasOwnProperty(value);
        }
        //添加元素
    setData.prototype.enData = function(value) {
            if (this.hasOwn(value)) {
                //存在
                return false;
            } else {
                this.items[value] = value;
                return true;
            }
        }
        //删除元素
    setData.prototype.deData = function(value) {
            if (this.hasOwn(value)) {
                delete this.items[value];
                return true;
            } else {
                return false;
            }
        }
        //获取元素所有元素
    setData.prototype.values = function() {
            return Object.keys(this.items);
        }
        //元素个数
    setData.prototype.size = function() {
            return Object.keys(this.items).length;
        }
        //清除集合
    setData.prototype.clear = function() {
        this.items = {};
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JavaScript中,可以使用Set对象来表示集合。Set是一种数据结构,用于存储唯一的值,不允许重复。可以使用add()方法向集合中添加元素,使用delete()方法删除元素,使用has()方法检查元素是否存在,使用size()方法获取集合的大小,使用values()方法获取集合中的所有值。以下是几种处理集合的常见操作: 1. 并集:可以通过将两个集合合并成一个新的集合来实现并集操作。可以使用扩展运算符(...)和Set对象的构造函数来实现。例如,给定两个集合setA和setB,可以使用以下代码获取并集: ``` var result1 = new Set([...setA, ...setB]); ``` 2. 交集:可以通过过滤其中一个集合中存在于另一个集合的元素来实现交集操作。可以使用filter()方法和has()方法来实现。例如,给定两个集合setA和setB,可以使用以下代码获取交集: ``` var result2 = new Set([...setA].filter(item => setB.has(item))); ``` 3. 差集:可以通过过滤其中一个集合中不存在于另一个集合的元素来实现差集操作。可以使用filter()方法和has()方法来实现。例如,给定两个集合setA和setB,可以使用以下代码获取差集: ``` var result3 = new Set([...setA].filter(item => !setB.has(item))); ``` 除了使用原生的Set对象,还可以手动实现自己的Set类。可以使用对象来模拟集合,使用键来存储唯一的值。可以定义add()方法用于添加元素,delete()方法用于删除元素,has()方法用于检查元素是否存在,size()方法用于获取集合的大小,values()方法用于获取集合中的所有值。 总结来说,JavaScript中可以使用原生的Set对象或自定义的Set类来处理集合,实现并集、交集和差集等常见操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [JavaScript 集合](https://blog.csdn.net/m0_53099201/article/details/129867843)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [JavaScript数据结构与算法 - 集合](https://blog.csdn.net/qq_46025031/article/details/116207266)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值