Получить координаты вокруг - PullRequest
1 голос
/ 24 июня 2019

У меня есть приборная панель с координатами x, y, подобными этой:

enter image description here

Теперь предположим, что я на 4,4, и я хочу получить массив объектов, содержащих x, y каждой координаты около 4,4 в диапазоне 2.

Таким образом, выходной массив объекта будет выглядеть примерно так:

[{x: 2, y: 2}, {x: 3, y: 2}, {x: 4, y: 2}, {x: 5, y: 2}, {x: 6, y: 2}, ...]

enter image description here

(теперь я вижу, что x, y на изображениях наоборот, извините, ошибка)

Я могу получить х вот так:

const currentCoord = { x: 4, y: 4 };
const range = 2;
const coordsAround = [];

for(let i = 0; i < range * 2; i++) {
  coordsAround.push({x: currentCoord.x - range + i, y: currentCoord.y})
}

console.log(coordsAround)

но это далеко от решения. Итак, каков наилучший подход для выполнения этой задачи?

1 Ответ

1 голос
/ 24 июня 2019

Вам нужно перебрать значения x и y - и использовать <=, чтобы перейти к нужному диапазону:

const currentCoord = { x: 4, y: 4 };
const range = 2;
const coordsAround = [];

for (let i = 0; i <= range * 2; i++) {
  for (let j = 0; j <= range * 2; j++) {
    coordsAround.push({ x: currentCoord.x - range + j, y: currentCoord.y - range + i });
  }
}

console.log(coordsAround);
.as-console-wrapper { max-height: 100% !important; top: auto; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...