use*_*806 7 javascript arrays d3.js
我有一些代码,它采用列中元素的值并将它们放入一个数组中:
var someArray = new Array(rows.selectAll("td").filter(function(d,i)
{
if(i==2) //index of the cells in the rows where I retrieve the data
{
return (d3.select(this))
}
}));
Run Code Online (Sandbox Code Playgroud)
^创建一个数组[1]的数组,它具有元素中单元格的值,例如"2.6"或"5.4"
当我尝试使用时:
console.log(d3.min(someArray));
Run Code Online (Sandbox Code Playgroud)
我得到[Array [1],Array [1],Array [1],...]而我需要返回的是那些数组中最低的,然后是最大的值(这将在d3.scale.linear中使用( ).domain([最小值,最大值])
你只需要嵌套调用:
var min = d3.min(arrayOfArrays, function(d) { return d3.min(d); });
Run Code Online (Sandbox Code Playgroud)
要同时获得最大值和最小值,请使用d3.extent():
// extent[0] == min, extent[1] == max
var extent = d3.extent(arrayOfArrays, function(d) { return d3.extent(d); });
Run Code Online (Sandbox Code Playgroud)
不幸的是,你不能在嵌套的情况下获得范围 - 你必须分别做min和max.