我想列出连接到我在文本字段中使用鼠标翻转的节点的所有节点,一直尝试使用过滤器功能,它会做我需要的事情,因为它会影响笔画的笔触宽度链接对象,但我也想输出节点名称。
.on("mouseover", function(da) {
link.filter(function(db) { return da.group == db.groupColor; })
.transition()
.style("stroke-width", 8);
selectedText.text("Currently Selected: "+da.name+"is connecting to sensors: "+link.filter(function(db) { return da.group == db.groupColor; }) );
现在我得到的输出是“自行车布莱恩连接到传感器:[object svgline element]”
但我想要的是能够返回其他节点的所有名称......这有意义吗?所以它可能会说“自行车布莱恩连接传感器:加速度计,gps等......”
答案 0 :(得分:0)
假设您的链接使用标准网络语法,您可以执行以下操作:
var filteredLinks = link.filter(function(db) { return da.group == db.groupColor; });
var sensorList = '';
for (x in filteredLinks) {
if (filteredLinks[x]) {
filteredLinks[x].source.id == originalSensorID ? sensorList += filteredLinks[x].target.id : sensorList += filteredLinks[x].source.id
}
}
您可能希望在sensorList变量中添加逗号和空格。这有点麻烦,但我无法使.each()方法与过滤器一起工作,所以这是我能想到的最好的。