当我想提取从d3.js选择中计算的值数组时,我会使用类似的方法
var arr = d3.selectAll(selector)[0].map(fn);
但这感觉就像是"落后于API"。。。还有更好的吗?也就是说,一些更"官方"的东西,类似于jQuery的$(selector).map(fn)
?
编辑:
让我澄清一下,对于这个问题,我对基于d3.selectAll(selector).each(fn)
的解决方案不感兴趣,因为fn
将条目推送到一些预先存在的数组中。我专门寻找返回数组的表达式,而不是修改数组的表达式。
第2版:
或者,是否有一种"官方"方法可以将d3.js选择转换为标准js数组?
您甚至不需要jQuery,您可以使用Javascript的map
——事实上,它看起来就是您正在使用的。D3中没有直接的等价物,但您可以使用.each()
:来模拟它
var arr = [];
d3.selectAll(selector).each(function() { arr.push(fn(this)); });