d3.js对数组的操作 最后更新时间:2021年04月08日 ## 什么是数组? 数组(Array)是包含相同类型的固定大小的顺序元素集合。 ## 数组统计方法 - d3.min(array) 最小值 - d3.max(array) 最大值 - d3.extent(array) 最大和最小值(最值) - d3.sum(array) 求和 - d3.mean(array) 平均值 - d3.quantile(array) p分位数 - d3.variance(array) 方差 - d3.deviation(array) 标准偏差 ## d3.min() 该方法是用于返回数组中的最小值。 示例: ```html ``` 代码实际效果如下: ## d3.max() 该方法是用于返回数组中的最小值。 示例: ```html ``` 代码实际效果如下: ## d3.extent() 该方法是用于返回数组中的最值(最大和最小)。 示例: ```html ``` ## d3.sum() 该方法是用于返回数组的总和。 示例: ```html ``` 代码实际效果如下: ## d3.mean() 该方法是用于返回数组的平均值。 示例: ```html ``` 代码实际效果如下: ## d3.quantile() 该方法用于返回数组的p分位数。它返回给定排序数字数组的p分位数,其中p是范围[0,1]中的数字。 例如,中值可以使用p = 0.5计算,第一个四分位数在p = 0.25,第三个四分位数在p = 0.75 示例: ```html ``` 代码实际效果如下: ## d3.variance(): 该方法用于返回数组的方差。 示例: ```html ``` 代码实际效果如下: ## d3.deviation() 该方法用于返回数组的标准差。 示例: ```html ``` 代码实际效果如下: ## 数组搜索API方法 - d3.scan() 线性扫描 - d3.scanding() 执行比较器功能 ## d3.scan() 该方法用于指定数组的线性扫描。 它将最小元素的索引返回给指定的比较器。 d3.scan(array,comparator)有array(即数组)和comparator(即比较器)两个变量,其中比较器用于决定该方法如何获取最小元素,可以不写。 示例: ```html ``` 注意: 在代码中,比较器部分`function(a,b){return a-b;}`这个写法返回的是最小元素的索引,`function(a,b){return b-a;}`这个写法返回的是最大值的索引。 代码实际效果如下: ## d3.ascending(a, b) 该方法用于执行比较器功能。 示例: ```html ``` ## 数组转换API - d3.cross(a,b[,reducer]) 笛卡尔积 - d3.merge(arrays) 合并数组 - d3.pairs(array[,reducer]) 配对数组元素并定义 - d3.permute(array,indexes) 从指定的数组和索引执行排列 - d3.zip(arrays) 数组 ## d3.cross() 该方法用于返回给定的两个数组a和b的笛卡尔积。 示例: ```html ``` 代码实际效果如下: ## d3.merge() 该方法用于合并数组。 ```html ``` 代码实际效果如下: ## d3.pairs() 该方法用于配对数组元素,并在下面做定义。 定义如下: ```html let tt=d3.pairs([[1,2,3,4]);// ==>tt=[[1,2],[2,3],[3,4]] ``` 示例: ```html ``` 代码实际效果如下: ## d3.permute() 该方法用于从指定的数组和索引执行排列。 示例一: ```html ``` 代码实际效果如下: 示例二: ```html ``` 代码实际效果如下: ## d3.zip() 该方法用于返回数组数组。 它的定义如下: ```html let tt=d3.zip([1,2],[3,4]);// ==>tt=[[1,3],[2,4]] ``` 示例: ```html ``` 代码的实际效果如下:
Comments | NOTHING