Javascript 以正确的方式修改循环

Javascript 以正确的方式修改循环,javascript,arrays,for-loop,if-statement,include,Javascript,Arrays,For Loop,If Statement,Include,我在下面得到了一张图表。现在,每个节点都有一个唯一的id号。我的目标是分离并只返回红色节点之间的链接,从左节点开始,到右节点结束。所以节点id的组合应该是:1-3-9-2。我的问题是我得到了一个数组,它返回:1-3-9-2-5-6-7。这意味着也有白色节点。不幸的是,我不得不使用这个数组。节点之间的每个链接都有一个源属性和一个目标属性。目标表示箭头指向节点,源表示箭头指向别处 现在我的问题是:当我使用下面的代码时 function (d){ if( Array.includes(d.target

我在下面得到了一张图表。现在,每个节点都有一个唯一的id号。我的目标是分离并只返回红色节点之间的链接,从左节点开始,到右节点结束。所以节点id的组合应该是:
1-3-9-2
。我的问题是我得到了一个
数组
,它返回:
1-3-9-2-5-6-7
。这意味着也有白色节点。不幸的是,我不得不使用这个数组。节点之间的每个链接都有一个源属性和一个目标属性。目标表示箭头指向节点,源表示箭头指向别处

现在我的问题是:当我使用下面的代码时

function (d){
if( Array.includes(d.target) && Array.includes(d.source) {
   highlight the links
}
它高亮显示所有链接,因为白色节点也是
数组的一部分。
那么,如何突出显示1和3之间的连接,而不是1和5之间的连接呢?所有这些都基于
数组的数据
?我可以在前4个元素中使用循环,并在第5个元素处停止。我的计划是:只在一个元素和之后的元素之间建立联系。这意味着只在第一和第二,第二和第三,第三和第四之间,依此类推。我该怎么做? 非常感谢


红色节点是“目标”节点,白色节点是“源”节点,还是相反,或者其他顺序?它大部分是混合的。我理解数组中两个节点的“混合”,但红色是否表示目标而源不是红色节点?哦,不,现在我明白了。我刚刚编辑了这张图片。红色的只是数组的前四个元素和我正在寻找的组合。