使用D3.JS而不是普通Javascript查找数组数组的最小值和最大值
我有一组数组,如下所示:使用D3.JS而不是普通Javascript查找数组数组的最小值和最大值,javascript,arrays,d3.js,Javascript,Arrays,D3.js,我有一组数组,如下所示: series = [ [ { "x":2013-01-01, "y":100 }, { "x":2013-01-02, "y":300 } ...], [ { "x":2013-01-01, "y":1000 }, { "x":2013-01-02, "y":300 } ...],... ] 如何使用d3获得“x”和“y”的最小值和最大值 我知道对于如下所示的单个阵列: miniseries = [ { "x":2013-01-
series = [ [ { "x":2013-01-01, "y":100 }, { "x":2013-01-02, "y":300 } ...],
[ { "x":2013-01-01, "y":1000 }, { "x":2013-01-02, "y":300 } ...],...
]
如何使用d3获得“x”和“y”的最小值和最大值
我知道对于如下所示的单个阵列:
miniseries = [ { "x":2013-01-01, "y":100 }, { "x":2013-01-02, "y":300 } ...]
例如,我将使用以下句子:
minX = d3.min(miniseries, function(d){return d.x});
但不确定如何处理数组而不是单个数组。只需迭代数据数组并将值存储在两个数组中(每个轴一个)。然后,您可以获得两个轴的最小/最大值,如下所示: 要查找最小/最大日期(x轴),请执行以下操作: 要查找最小/最大值(y轴),请执行以下操作:
我之所以得到这个系列,是因为JSON调用了其他键和值,而我在示例中没有描述这些键和值,因为它们与我的问题无关。所以我宁愿按原样使用序列数组。更重要的是,我正在学习D3.JS,想知道如何使用D3.JS而不是普通的JavaScript来完成它。@LarsKotthoff:我的问题是D3.JS的问题,我对JavaScript的答案不感兴趣。“如何在javascript中找到嵌套数组的最大值/最小值?”这个问题具有误导性,因为它根本没有提到D3.JS(我同意后面的细节中确实提到了D3)。我认为应该重新编写is,这样用户可以从阅读问题中理解这是一个D3.JS问题/解决方案,而不是JavaScript问题。请随意建议对该问题进行编辑。但它被标记为D3。
// sample data
var dates = [
new Date("2013-01-01"),
new Date("2013-02-01"),
new Date("2013-03-01")
];
var minDate = new Date(Math.min.apply(null, dates));
var maxDate = new Date(Math.max.apply(null, dates));
// sample data
var valuesAxisY = [100, 300, 400, 50];
var min = Math.min.apply(null, valuesAxisY),
var max = Math.max.apply(null, valuesAxisY);
var minX = d3.min(series, function (ms) {
return d3.min(ms, function (d) {
return d.y
})
});