当我想提取从d3.js选择计算出的值数组时,我求助于
var arr = d3.selectAll(selector)[0].map(fn);
......但这感觉就像#"落后于API"不知何故......有什么更好的吗?即,更多"官方",类似于jQuery' $(selector).map(fn)
?
编辑:
让我澄清一下,对于这个问题,我对基于d3.selectAll(selector).each(fn)
的解决方案不感兴趣,fn
将条目推送到一些预先存在的数组中。我特意寻找返回数组的表达式,而不是那些修改数组的表达式。
EDIT2:
或者,是否有#34;官员"将d3.js选择转换为标准JS数组的方法?
答案 0 :(得分:3)
你甚至不需要jQuery,你可以使用Javascript's map
- 事实上它看起来就像你正在使用的那样。 D3中没有直接的等价物,但您可以使用.each()
:
var arr = [];
d3.selectAll(selector).each(function() { arr.push(fn(this)); });