Основы программирования на JavaScript | страница 24



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


var students = ['Sam', 'Joe', 'Sue', 'Beth', 'Mike', 'Sarah', 'Steve'];

students.splice(4, 1);


Splice в этом примере получает два аргумента: начальный индекс и число элементов для удаления. Так как Mike является пятым студентом, то его индекс будет 4. Будет удален только 1 студент, поэтому здесь используется 1. В результате имеем массив с удаленным Mike:


['Sam', 'Joe', 'Sue', 'Beth', 'Sarah', 'Steve'];


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


var students = ['Sam', 'Joe', 'Sue', 'Beth'];

function addStudent(name){

students.push(name);

}

function removeStudent(name){

for(var i=0; i

if(students[i].toLowerCase() == toLowerCase(name)){

students.splice(i, 1);

break;

}

}

}

Имя студента:

Добавить этого студента

Удалить этого студента

Студенты:


Единственным новым моментом здесь является слово break. break останавливает выполнение кода любого цикла, в котором находится: цикла for, цикла do или switch. Поэтому в данном случае, когда удаляемый студент найден, мы прерываем цикл for, так как выполнили свою задачу.

Часто бывает необходимо преобразовать массив в строку или строку в массив. Имеется две функции, которые могут легко это сделать: join и split. Функция join получает массив и преобразует его в строку с помощью разделителя, заданного в join. Функция split действует в обратном направлении и делает массив из строки, определяя новый элемент c помощью разделителя, заданного в split:


var myString = 'apples are good for your health';

var myArray = myString.split('a');

// строка myString разбивается на элементы на каждом найденном символе 'a'.

alert(myArray.join(', '));

// преобразуем myArray снова в строку с помощью запятой,

// так что можно видеть каждый элемент

alert(myArray.join('a'));

// теперь преобразуем myArray снова в строку с помощью символа 'a',

// так что снова получается исходная строка


Еще две полезные функции для работы с массивами -