0

テキストフィールドでマウスでロールオーバーしたノードに接続されているすべてのノードをリストしたい、フィルター機能を使用しようとしましたが、リンクされたオブジェクトのストローク幅に影響するため、必要なことを実行しますが、ノード名も出力したいと思います。

 .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; }) ); 

現在、「バイク ブライアンがセンサーに接続されています: [オブジェクト svgline 要素]」という出力を取得しています。

しかし、私が望むのは、他のノードのすべての名前を返すことができるようにすることです...それは意味がありますか? 「自転車ブライアンはセンサーに接続されています:加速度計、GPSなど...」と言うかもしれません

4

1 に答える 1

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() メソッドを動作させることができなかったので、思いつくのはこれが精一杯です。

于 2013-01-08T15:07:51.167 に答える