Вставить новые элементы в массив (splice)

 
0
 
JavaScript
ava
CaptainNemo | 25.03.2013, 23:20
Доброго времени суток!
Подскажите, если не составит труда, как грамотно вставить новые элементы на нужные позиции в имеющийся массив.
Пробую методом splice, в консоли выдает:

[Q, Q, "xxxxxxx", "xxxxxxx", Q, Q, "xxxxxxx", "xxxxxxx", Q, Q, "xxxxxxx","xxxxxxx", Q, Q, "xxxxxxx", Q, Q, Q, Q, Q, Q, Q, Q]

Где Q – элементы исходного массива; 
    xxxxxxx – элементы, которые нужно вставить
т.е. элементы вставляются на позиции 2,3,6,7,10,11,14,15…, а мне нужно вставить их на позиции вычисляемые по формуле j = (-3-Math.pow(-1, i)+4*i)/2; //числовой ряд 1,2,5,6,9,10....  (сдвинуть элементы исходного массива)

Понятно, что в каждом цикле splice изменяет размер исходного массива, но как это можно обойти?

Вот код:


function uturnArray(){
    
    var count = crossPointsArray.length/2
    for(var i=1; i<count; i++){

        var j = (-3-Math.pow(-1, i)+4*i)/2; //числовой ряд 1,2,5,6,9,10....    
   
        var p1 = crossPointsArray[j];
        var p2 = crossPointsArray[j+2];

       var centerPoint = findCenterUturn(p1, p2); //коодината центра поворота

        centerPoints.push(centerPoint);
        pathArray.splice(j, 0, centerPoint); //тут нужно вставить полученные в цикле координаты в уже имеющийся массив  
    }  

    console.log(pathArray);
}


Спасибо! 
Ответы (0)

Комментарии не добавлены

Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
advanced
Отправить