【问题标题】:Converting a d3.map quickly to an array of values将 d3.map 快速转换为值数组
【发布时间】:2014-04-09 06:32:31
【问题描述】:

我有一个名为 data 的 d3.map(哈希)。

AUT: Object
BEL: Object
CHE: Object
CZE: Object
DEU: Object

我想访问每个对象的特定值 (specificValue) 并将其放入一个简单的数组 var values = [2,3,335,2,...] 以便动态计算色阶。

我想出了下面的解决方案,但它不是很优雅,因为我必须遍历整个哈希。没有快捷功能或其他东西吗?

 var values = [];
 data.forEach(function(k,v){
         values.push(v.specificValue);
 });     


var quantize = d3.scale.quantile()
        .domain(values)
        .range(colorbrewer[COLORSCHEME][COLORCLASSES].slice(1));

【问题讨论】:

  • 我不确定您在这里寻找什么。您已经将其简化为一行代码,并且您必须遍历所有对象以收集您想要的信息。

标签: javascript arrays d3.js


【解决方案1】:

找到可能的解决方案,使用 d3.entries 和 array.map:

d3.entries(data).map(function(d){return d.value.specificValue})

【讨论】:

  • 谢谢。请问,这是确定的方法吗,还是您找到了另一种方法?
猜你喜欢
  • 2017-05-12
  • 1970-01-01
  • 2019-01-17
  • 2016-08-17
  • 2019-04-11
  • 2015-04-04
  • 2016-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多