首页 经验

d3 数组API (二)

时间: 2021-07-19 15:27:38

(部分内容来自网络,其真实性存疑,为了避免对您造成误导,请谨慎甄别。)


Array Search API Methods

以下是一些重要的Array搜索API方法。

让我们详细了解这两个方面。

d3.scan(array)

此方法用于执行指定数组的线性扫描。 它将最小元素的索引返回给指定的比较器。 下面定义一个简单的例子。

Example:

var array = [{one: 1}, {one: 10}];
console.log(d3.scan(array, function(a, b) { return a.one - b.one; })); // output is 0
console.log(d3.scan(array, function(a, b) { return b.one - a.one; })); // output is 1

d3.ascending(a, b)

该方法用于执行比较器功能。 它可以实现为:

function ascending(a, b) {
   return a < b ? -1 : a > b ? 1 : a > =  b ? 0 : NaN;
}

如果没有为内置排序方法指定比较器函数,则默认顺序为字母顺序。 如果a小于b,则上述函数返回-1;如果a大于b或0,则返回1。

同样,您可以执行降序(a,b)方法。 如果a大于b,则返回-1;如果a小于b,则返回1,或返回0.此函数执行反向自然顺序。

Array Transformations API

以下是一些最突出的数组转换API方法。

让我们详细了解每一个。

d3.cross(a, b[, reducer])

该方法用于返回给定的两个数组a和b的笛卡尔积。 下面定义一个简单的例子。

d3.cross([10, 20], ["a", "b"]); // output is [[10, "a"], [10, "b"], [20, "a"], [20, "b"]]

d3.merge(arrays)

此方法用于合并数组,它定义如下。

d3.merge([[10], [20]]); // output is [10, 20]

d3.pairs(array[, reducer])

此方法用于配对数组元素,并在下面定义。

d3.pairs([10, 20, 30, 40]); // output is [[10, 20], [20, 30], [30, 40]]

d3.permute(array, indexes)

此方法用于从指定的数组和索引执行排列。 您还可以将对象的值执行到数组中。 它解释如下。

var object = {fruit:"mango", color: "yellow"},
   fields = ["fruit", "color"];
d3.permute(object, fields); // output is "mango" "yellow"

d3.zip(arrays)

此方法用于返回数组数组。 如果数组只包含单个数组,则返回的数组包含单元素数组。 如果未指定参数,则返回的数组为空。 它定义如下。

d3.zip([10, 20], [30, 40]); // output is [[10, 30], [20, 40]]
上一个 d3 数组API 文章列表 下一个 d3 Scales API

最新

© 2019-至今 适观科技

沪ICP备17002269号