Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用D3.JS而不是普通Javascript查找数组数组的最小值和最大值_Javascript_Arrays_D3.js - Fatal编程技术网

使用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
    })
});