javascript - Array.map() 和 D3 选择?

标签 javascript svg selector d3.js

有没有类似Array.map()的东西选择 D3?查找所选 SVG 的最大长度 <text/>元素,我目前执行以下操作。然而.selectAll(...)[0].map(...)对我来说似乎是一个黑客。有没有更好的办法?

      var chi = svg.selectAll('.chi');

      var xChi = d3.max(chi[0].map(function (itm) { return itm.getComputedTextLength(); }));

我可以使用 selection.each()在一个选择上迭代一个函数,但我不确定如何将它与 d3.max() 结合起来.我试过 d3.max(chi.each(function (itm) { return itm.getComputedTextLength(); })) ,但是 d3.each()不返回返回值的数组

最佳答案

var allLength

d3.selectAll(".element")
.each(function(d, i) {allLength[i]=d3.select(this).node().getComputedTextLength() })

var maxLength = d3.max(a)

关于javascript - Array.map() 和 D3 选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12191899/

相关文章:

javascript - react JS : Refactoring Redux Selectors

Javascript 构造函数

javascript - 错误类型错误 : Cannot read property 'subscribe' of undefined on POST HTTP Call - Angular [8]

html - SVG 球会在 webkit 浏览器中产生额外的空间

javascript - 将上方的输入定位在 svg 曲线上

iphone - 将选择器(重新加载)发送到当前 View

javascript - 为什么我不能使用 javascript 将此表单值重置为空白?

javascript - Extjs 6 添加图表鼠标监听器

javascript - 访问 SVG 中的图像元素 URL

CSS3 - 在另一个元素之后选择元素