gpt4 book ai didi

javascript - 遍历链接对象,如何避免重复

转载 作者:行者123 更新时间:2023-11-30 12:29:44 25 4
gpt4 key购买 nike

我有一个对象数组,这些对象通过唯一 ID 链接在一起。

像这样:

var nodes    = [];
nodes[0] = {'id':1,'linksTo':[2,3],'x':1,'y':1};
nodes[1] = {'id':2,'linksTo':[1],'x':2,'y':1};
nodes[2] = {'id':3,'linksTo':[1],'x':2,'y':1};

所以假设我要在它们链接到的 Canvas 元素中的每个点之间画线。在上面的例子中,我会在同一条线上画两次,一次从 id 1 到 id 2,然后再一次从 id 2 到 id 1。这样效率不高,而且在游戏循环中,随着时间的推移,这会降低帧率。

我现在的方法是类似这样的逻辑:

 Object.keys(nodes).forEach(function(nodeIndex) {
nodes[nodeIndex].linksTo.forEach(function(connectedNode) {
//line move to x,y
//line to x2, y2
});
});

在不影响帧速率和避免以相同方式绘制两次的情况下,最有效的方法是什么?请记住,它需要高效才能继续保持更高的帧速率。

最佳答案

只有当第一个节点的 id 小于第二个节点的 id 时,您才能画线。

关于javascript - 遍历链接对象,如何避免重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28104553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com