博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
D3.js中对array的使用
阅读量:4569 次
发布时间:2019-06-08

本文共 930 字,大约阅读时间需要 3 分钟。

由于D3类库和array密切相关,我们有必要讨论一下D3中的数据绑定以及在数组内部运算的方法。

1.D3中的数组

和其他编程语言一样,D3的数组元素可以是数字或者字符等类型,例如:

someData=[20,36,48,59,600,88];

此外,考虑json数据在网络传输中的便利性,D3数组也支持将json对象,如:

someBook=[{name:"book1", price: 50}, {name:"book2", price: 150}, {name:"book3", price: 350}];

 

2.D3中的数组过滤功能

array有一个filter()方法,这个方法的返回值是array中满足自定义需求的数据数组。例如:

someNumer.filter(function(sn) {return sn >= 40});

这条语句中使用了someNumber这个array的filter方法,它使用了一个function,此function中将someNumber中的每一个元素(命名为sn)进行遍历,如果满足自定义条件(大于等于40),则将此元素拷贝至一个新建的数组中,最后的返回值便是这个数组。

 

3.绑定,enter()和exit()

D3使用data()方法将数组和选择的CSS元素进行绑定;

enter()方法定义了当数组元素超过已经绑定或者选择的CSS元素的个数时,则生成新的CSS元素,使用新CSS元素与数组中数据进行绑定;

exit()方法定义了当数组元素超过已经绑定或者选择的CSS元素的个数时,则抛弃多余的数组元素。

    
test

上面的代码中,smallerNumber中将会含有17,9,40三个元素,但是只有broderdiv这一个div,所以当执行上面的脚本后,会为9和40新生成两个div。如图

当然,如果将上述代码中的enter()方法替换为exit(), 那么9和40将被丢弃,不会生成新的div。

 

参考:

转载于:https://www.cnblogs.com/shuaiwang/p/4607600.html

你可能感兴趣的文章
EF架构~终于自己架构了一个相对完整的EF方案
查看>>
js-位置问题
查看>>
c语言实践 给三个数输出最大的那个数
查看>>
线性表
查看>>
Entity Framework学习过程
查看>>
VSCode 快捷键
查看>>
Visual Studio(VS)秘钥集合
查看>>
三级菜单(高大上版)
查看>>
jar包冲突解决方法
查看>>
PPT1 例1
查看>>
java对象 深度克隆(不实现Cloneable接口)和浅度克隆
查看>>
[整理] ES5 词法约定文档树状图
查看>>
处女座和小姐姐(三)(数位dp模板)
查看>>
【脚本程序】Openssl利用脚本
查看>>
小波分析及其应用
查看>>
dynamic memory allocate
查看>>
分块算法
查看>>
类与对象
查看>>
文件管理File类
查看>>
优化PHP程序的方法
查看>>