Javascript 计算D3中的数组并获取该数字以可视化地图点

Javascript 计算D3中的数组并获取该数字以可视化地图点,javascript,arrays,d3.js,topojson,cartography,Javascript,Arrays,D3.js,Topojson,Cartography,我正在用topoJson在D3中进行地图可视化。我将城市视为具有给定半径的点。然而,我想根据我在那里拥有的值(比如说每个城市的幼儿园)来查看这个属性——格拉斯哥57,邓迪26 所以我只需要计算值中有多少个数组。我已经找过了,但没有找到合适的解决办法 enterSelection .append("circle") .attr("r", 4); 编辑:需要更新下面代码中的4。如果我使用的是评论中

我正在用topoJson在D3中进行地图可视化。我将城市视为具有给定半径的点。然而,我想根据我在那里拥有的值(比如说每个城市的幼儿园)来查看这个属性——格拉斯哥57,邓迪26

所以我只需要计算值中有多少个数组。我已经找过了,但没有找到合适的解决办法

        enterSelection
           .append("circle")
           .attr("r", 4);
编辑:需要更新下面代码中的4。如果我使用的是评论中给出的提示,它只会给出特定城市数组大小的半径(但我需要每个城市的不同半径) 试图将属性更改为

.attr("r", d=>(d.town.values.length))

但这给了我未捕获的TypeError:无法读取未定义错误的属性“值”

这是有效的解决方案

enterSelection
                .append("circle")
                .attr("r", d => d.values.length)

请尝试城市[1]。值。length@TilakMaddy当我在这里设置每个点的半径时,我在代码中使用它:enterSelection.append(“circle”).attr(“r”,towns[1].values.length);(添加到问题中)但我只得到特定城市的半径。@tilakmady当我使用控制台时,它在键入towns.map(d=>d.values)时起作用。length@TilakMaddy我发现了(即解决方案),但谢谢你为我指明了方向