Веб-программирование

Обучение программированию

Делаете первые шаги в программировании? Представляем вашему вниманию пошаговое обучение самостоятельного создания сайтов любой сложности на примерах! На страницах сайта KobRU вы найдете все самое необходимое, для того чтобы по праву считаться веб-мастером по созданию привлекательных динамически изменяемых интернет-страниц, используя основные инструменты веб-разработчиков: HTML; CSS; PHP; MySQL; JAVASCRIPT и другие. Сайт KobRU - наиболее полное и качественно структурированное руководство с предельно понятными пояснениями и поэтапным изложением материала, который поможет вам в совершенстве овладеть искусством программирования. Добавьте динамики и интерактивность в свои веб-проекты!

Вход в личный кабинет

Забыли пароль?

Не зарегистрированны?


Конструкторское Web-бюро
6.4 JavaScript метод splice()

Автор: Denisido

Дата: 2010-07-10

Все выше описанные техники работы с массивом способны добавлять или удалять элементы либо в самом начале, либо в конце этого массива. В отличие от них есть более универсальная команда splice(), помогающая манипулировать с элементами в массиве не только добавляя или удаляя их из начала или конца, но и выбирать любое место в массиве. Стоит сказать, что данный метод не только добавляет или удаляет элементы в массиве, он также может их заменять.

Удаление элементов из массива с помощью метода splice()

Давайте еще раз на примере нашего карточного массива продемонстрируем вам как работает этот метод splice().
1. Первым делом пишем ключевое слово splice;
2. Ставим скобки ( );
3. Внутри скобок сначала пишем номер индекса элемента, с которого и будут удаляться элементы в массиве. Затем ставим запятую и пишем количество элементов на их удаление.

Запустить!
// d - буби
 
var cards = ['2d','3d','4d','5d','6d','7d','8d','9d','Td','Jd','Qd','Kd','Ad'];
 
cards.splice(4,5) // выбираем индекс №4, начиная с которого будут удалены 5 элементов
 
for(i = 0; i < cards.length; i++) {                          // создаем цикл 
                              document.write(cards[i]+' ');  // выводим весь массив
                                  };

В нашем примере в 5 строке с помощью метода splice() мы выбираем в качестве первого параметра индекс №4, который равен 5-му элементу в массиве, т.е. '6h'. Далее, через запятую подставляем под второй параметр нужное количество элементов для удаления, начиная с выбранного - 5. Т.е. выбранные элементы в массиве это - '6d','7d','8d','9d','Td'

Добавление элементов в массив с помощью метода splice()

Для того, чтобы мы могли добавить новые элементы в массив с помощью метода splice() нам нужно записать в скобках в качестве первого параметра номер индекса, куда мы хотим добавить эти элементы, затем поставить запятую и в качестве второго параметра записать 0. Ноль говорит команде о том, что никакие элементы удалять не нужно. Далее ставим запятую и перечисляем новые элементы тоже через запятую. Рассмотрим пример:

Запустить!
// d - буби
 
var cards = ['2d','3d','4d','5d','Jd','Qd','Kd','Ad'];
 
cards.splice(4,0,'7d','8d','9d') /* выбираем индекс №4, начиная с которого будут
                                    добавлены 3 элемента */
 
for(i = 0; i < cards.length; i++) {                          // создаем цикл 
                              document.write(cards[i]+' ');  // выводим весь массив
                                  };

Замена элементов в массиве с помощью метода splice()

В операции с заменой, в основном, все тоже самое, что и при добавлении. В скобках первый параметр - это выбор индекса, с которого будет начинаться замена. Через запятую следующий параметр - это количество заменяемых элементов и после него сами заменяемые элементы, разделяя их запятыми:

Запустить!
// c - крести
 
var cards = ['2c','3c','4c','5c','6c','7c','8c','9c','Tc','Jc','Qc','Kc','Ac'];
 
cards.splice(1,5,'3h','4h','5h','6h','7h') /* выбираем индекс №1, начиная с которого 
                                              будут заменены 5 элементов */
 
for(i = 0; i < cards.length; i++) {                          // создаем цикл 
                              document.write(cards[i]+' ');  // выводим весь массив
                                  };

Стоит заметить, что вы должны заменять столько же элементов, сколько указали во втором параметре, т.е. в нашем примере 5, '3h','4h','5h','6h','7h'. В противном случае, вы либо добавите, либо удалите элементы:

Запустить!
var cards = ['2c','3c','4c','5c','6c','7c','8c','9c','Tc','Jc','Qc','Kc','Ac'];
cards.splice(1,5,'3h','4h','5h','6h','7h','8h','9h') /* перебор элементов - 
                                                        будут добавлены '8h' и '9h'*/
for(i = 0; i < cards.length; i++) {                           
                              document.write(cards[i]+' ');  
                                  };
Запустить!
var cards = ['2c','3c','4c','5c','6c','7c','8c','9c','Tc','Jc','Qc','Kc','Ac'];
cards.splice(1,5,'3h','4h','5h')                /* недобор элементов -  
                                                   будут удалены '6c' и '7c' */
for(i = 0; i < cards.length; i++) {                           
                              document.write(cards[i]+' ');  
                                  };



Оцените материал по 5-ти бальной шкале: 1 2 3 4 5



Коментарии:

Коментарий добавил(а): Denisido
Дата: 2014-01-20

// Функция вывода случайных индексов из массива: var arr = [1,2,3,4,5], getRand = function (a) { var i = 0, max = a.length, position, randomNumber; for (; i < max; i += 1) { randomNumber = Math.floor(Math.random() * max); position = a[i]; a[i] = a[randomNumber]; a[randomNumber] = position; } // end for return a.join('); }; // end func getRand(arr); //alert(getRand(arr));

Добавить новый коментарий:

Текст коментария:

Введите результат с картинки

Просмотров: 15855

Метки раздела JavaScript

Основы web программирования, var javascript, javascript функции, javascript обучение, javascript простые примеры, html javascript, javascript примеры, javascript random, уроки сайтостроения, java script, регулярные выражения, appendchild javascript, javascript бесплатно, javascript document write, javascript справочник, javascript примеры.