D3.js的基础部分之数组的处理 集合(Set)(v3版本)
程序员文章站
2022-04-09 18:42:51
数组的处理 之 集合(set) 集合(Set)是数学中常用的概念,表示具有某种特定性质的事物的总体。集合里的项叫做元素。集合的相关方法有: d3.set([array]) //使用数组来构建集合,如果数组里有重复的元素,则只添加其中一项。 set.has(value) //如果集合中有指定元素,则返 ......
数组的处理 之 集合(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已经在集合中存在了,因此也没有添加。
集合与映射相比,集合比较简单,没有键的概念。
上一篇: JavaSSM框架整合
下一篇: iOS开发简记(7):网络请求模块