D3.js的基础部分之数组的处理 集合(Set)(v3版本)

数组的处理 之 集合(set)
集合(Set)是数学中常用的概念,表示具有某种特定性质的事物的总体。集合里的项叫做元素。集合的相关方法有:
 
d3.set([array])       
//使用数组来构建集合,如果数组里有重复的元素,则只添加其中一项。
 
set.has(value)       
//如果集合中有指定元素,则返回true,如果没有返回false。
 
set.add(value)      
//如果该集合中没有指定元素,则将其添加到集合中,并返回该元素,如果有,则不添加
 
set.remove(value)    
//如果该集合中有指定元素,则将其删除并返回true。否则返回false。
 
set.values()        
//以数组的形式返回该集合中所有的元素。
 
set.forEach(function)    
//对每一个元素都调用function函数,函数里传入一个参数,即该元素的值。
 
set.empty()          
//如果该集合为空,则返回true,否则返回false
 
set.size()             
//返回该集合的大小。
 
通过代码来实践一下上述函数的使用方法:
 1 //定义一个源数组
 2         var dataList = ["tiger", "dragon", "snake", "horse", "sheep"];
 3         //构建一个集合,将其保存在变量set中
 4         var set = d3.set(dataList);
 5 
 6 
 7         console.log(set.has("tiger"))         //返回值true
 8         console.log(set.add("monkey"))        //返回值monkey
 9 
10         console.log(set.values())             //返回值["tiger", "dragon", "snake", "horse", "sheep", "monkey"]
11 
12         //集合中的每一个元素都将调用function函数
13         set.forEach(function(value){
14             console.log(value)                //返回值分别打印出tiger、dragon、snake、horse、sheep、monkey
15         })
16 
17         console.log(set.empty())              //返回值false
18         console.log(set.size())               //返回值6

 

有一点要注意,集合中不允许出现相同的元素,如果有相同的元素,则只会保留其中一项。这一点主要表现在构造集合和添加元素时:
 
1 var dataList = ["tiger","tiger", "dragon", "snake", "horse", "sheep"];
2         var set = d3.set(dataList);
3         set.add("dragon");
4 
5         console.log(set.values())       //返回值 ["tiger", "dragon", "snake", "horse", "sheep"]

 

 
由于数组dataList中的tiger元素有两个,因此结果只能保留一个,在使用add()添加元素时,dragon已经在集合中存在了,因此也没有添加。
 
 
 集合与映射相比,集合比较简单,没有键的概念。
 
 

转载于:https://www.cnblogs.com/littleSpill/p/10812779.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值