Javascript 以d3.min为单位获取对象的最小值

Javascript 以d3.min为单位获取对象的最小值,javascript,d3.js,Javascript,D3.js,如何获取键“sample”的最大值 我可以使用d3.max(myData)获得数组的最大值,如[1,2,3]。对于更复杂的示例,我可以使用accessor函数从myData中获取值。这个访问器函数看起来像什么 var myData = [ { type: "a", sample: 28, population: 32}, { type: "b", sample: 24, population: 19}, { type: "c", sample: 19, population: 23}

如何获取键“sample”的最大值

我可以使用
d3.max(myData)
获得数组的最大值,如
[1,2,3]
。对于更复杂的示例,我可以使用accessor函数从
myData
中获取值。这个访问器函数看起来像什么

var myData = [
  { type: "a", sample: 28, population: 32},
  { type: "b", sample: 24, population: 19},
  { type: "c", sample: 19, population: 23},
  { type: "d", sample: 29, population: 26}
];

将为每个数组元素计算访问器函数,并将元素作为第一个参数传递。考虑到这一点,您可以执行以下操作:

d3.max(myData, function(d) {
  return d.sample;
});

将为每个数组元素计算访问器函数,并将元素作为第一个参数传递。考虑到这一点,您可以执行以下操作:

d3.max(myData, function(d) {
  return d.sample;
});

作为对已经提供的答案的扩展,我想补充两件事。首先是非常明显的-有一个等效的方法来获得最小值。第二个是我以前在评估计算域和范围的极值时做过的事情

var min = d3.min(data, function (d) { return d.val; });
var max = d3.max(data, function (d) { return d.val; });
var colors = d3.scale.linear()
  .domain([min, max])
  .range(["blue", "red"]);
但是,有一个函数同时返回。它只是以一种笨拙而不直观的方式命名,IMnHO-。它允许您在计算极值时省略这两条线,并且看起来非常整洁

var colors = d3.scale.linear()
  .domain(d3.extent(data, function (d) { return d.val; }))
  .range(["blue", "red"]);

作为对已经提供的答案的扩展,我想补充两件事。首先是非常明显的-有一个等效的方法来获得最小值。第二个是我以前在评估计算域和范围的极值时做过的事情

var min = d3.min(data, function (d) { return d.val; });
var max = d3.max(data, function (d) { return d.val; });
var colors = d3.scale.linear()
  .domain([min, max])
  .range(["blue", "red"]);
但是,有一个函数同时返回。它只是以一种笨拙而不直观的方式命名,IMnHO-。它允许您在计算极值时省略这两条线,并且看起来非常整洁

var colors = d3.scale.linear()
  .domain(d3.extent(data, function (d) { return d.val; }))
  .range(["blue", "red"]);