Очень часто нужно перебрать очистить массив javascipt. Вы можете использовать 2 массива. Один массив проверяется, а в другой массив записываются новые значения. Тут нужно использовать второй массив и функцию push(). Обрезание массива javascript проще сделать с помощью функции splice(). Благодаря этой функции не нужно делать второй массив. Вы будите проверять и очищать один и тот же массив arr. Посмотрите на пример. Тут используется цикл for. Смотрите на страницу циклы javascript
var arr= new Array("book1","pencil1","book2","pencil2");
for(var i=(arr.length-1); i>=0; i--) {
//... сделать что-то с arr[i] ...
console.log(i, arr[i].indexOf('book') + 1);
if(arr[i].indexOf('book') + 1) {
arr.splice(i,1);
console.log("подстрока найдена");
}else{
console.log("подстрока не найдена");
}
}
console.log(arr);
// вывод: ["pencil1", "pencil2"]
alert("Массив очищен. "+arr+"\n\r длинна массива "+arr.length);
Функция splice() удаляет элементы массива. splice(0,3) удалит 3 элемента массива, начиная с 0.
arr = [1,2,3,4,5,6,7,8,9,];
arr.splice(0,3);
console.log(arr);
// вывод: [4, 5, 6, 7, 8, 9]
splice(-2,2) удалит 2 элемента массива, начиная с последнего элемента. Можно удалить сразу несколько элементов. Вы должны задать входные параметры у функции.
arr = [1,2,3,4,5,6,7,8,9,];
arr.splice(-2,2);
console.log(arr);
// вывод: [1, 2, 3, 4, 5, 6, 7]