数组助手:遍历没有已知结束或开始的数组

时间:2019-08-11 08:05:48

标签: javascript arrays

说我有一个包含line segment对象的数组。我试图查看我选择的线段是否连接到其他线段的另一个链上-不管是长链的开始,中间还是结尾。到达终点或起点的最快/最便宜的方法是什么(假设所选的线段不是终点或起点?)

更新-评论部分需要更多背景信息...

canvas.addEventListener('mousemove', function(e) {
      e.preventDefault();
      let mouseX = e.offsetX,
        mouseY = e.offsetY;
      if (self.mode.isPencilMode && self.mouseIsDown) {
        // create the line and add to the list
        var x0 = self.pos[0],
          y0 = self.pos[1];
        var line = new Line Object;
        self.lines.push(line);
        self.pos = [mouseX, mouseY];
      }
      self.render();
    });

因此,self.lines是一个包含创建的新Line对象的数组。我需要查看它们是否已连接,以及当用户选择它们时,然后选择chain行的线段,直到选择开始或结束...

1 个答案:

答案 0 :(得分:0)

我将采用自己的形式的链表,其中所有节点(在您的情况下为行)都具有到连接的节点/线的所有信息。

然后,您可以使用指向开始结束实际节点的指针,将三点存储为此类链接列表的元信息。

使用此信息,您可以添加节点以开始和结束实际节点。