Вопрос:

Помощник по массиву: итерация по массиву без известного конца или начала

javascript arrays

21 просмотра

1 ответ

12 Репутация автора

Скажем, у меня есть массив, содержащий 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отрезки линии до начала или конца не выбран ...

Автор: Yunjichu Источник Размещён: 11.08.2019 08:05

Ответы (1)


0 плюса

221100 Репутация автора

Я бы взял собственную форму связного списка, в котором все узлы (в вашем случае строк) имеют всю информацию для связанных узлов / линий.

Затем вы можете сохранить три точки в качестве мета-информации для этого вида связанного списка с указателем начала , конца и фактического узла .

С помощью этой информации вы можете добавить узлы, чтобы начать и закончить фактический узел.

Автор: Nina Scholz Размещён: 11.08.2019 08:30
Вопросы из категории :
32x32