Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставить новые элементы в массив (splice), Добавление новых элементов в массив 
V
    Опции темы
CaptainNemo
Дата 25.3.2013, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 5.6.2008
Где: White Russia, Min sk

Репутация: нет
Всего: 9



Доброго времени суток! 
Подскажите, если не составит труда, как грамотно вставить новые элементы на нужные позиции в имеющийся массив.
Пробую методом 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);
}


 Спасибо! 

Решил задачу. Собрал один массив из двух  в отдельной функции. Спасибо! 

Это сообщение отредактировал(а) CaptainNemo - 27.3.2013, 23:18
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0760 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.