@Blunker

Как взять элементы по парам?

Есть массив состоящий из объектов с координатами. Нужно сделать новый массив которых будет состоять их пар соседних объектов, например, есть массив [{0,1}, {1,1}, {4,1}, {5, 7}]. На выходе нужно получить массив из двух элементов:
[
    [
        {0,1},
        {1,1,}
    ],
    [
        {4,1},
        {5,7}
    ]
];


Помогите придумать алгоритм
  • Вопрос задан
  • 188 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Последовательно разбить в пары можно, например, так:
var data = [{x:0,y:1}, {x:1,y:1}, {x:4,y:1}, {x:5, y:7}]
  , pairs = []
  , i
;

for( i = 0; i < data.length; i++) { // перебираем входные элементы
  if( i % 2 === 0) pairs.push([]); // четный – добавляем новую пустую «пару»
  pairs[ pairs.length - 1].push( data[i]); // в последнюю пару добавляем элемент
}

JSON.stringify( pairs ) // [[{"x":0,"y":1},{"x":1,"y":1}],[{"x":4,"y":1},{"x":5,"y":7}]]


Если же вы хотите разбить их в пары не по положению в исходном массиве, а в зависимости от расстояния между ними на поле, это совсем другая история. Уточните вопрос.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Arik
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы