Javasctipt. Есть массив из N элементов. Нужно удалить i-й.
Решение:
Нам нужен новый массив без i-го элемента. Если это не хеш, то используем функцию объекта Array.splice().
1 |
arrayObj.splice( start, delCount, [elm1[, elm2[, ...[, elmN]]]] ); |
Функция позволяет не только удалять, но и вставлять/замещать указанное число элементов.
Удаление элемента массива с индексом i
1 2 3 4 5 6 |
var A = ["a", "b", "c", "d", "e"]; //удалить начиная со второго 1 элемент var i = 2; A.splice(i, 1); //получим в А - ["a", "b", "d", "e"], //удален элемент "c", т.к. нумерация элементов начинается с нуля |
Удаление элемента из хеш массива (или объекта)
Для хеш-массивов (объектов) функцию splice не применить. Если известен индекс — имя ключа, то можно использовать оператор delete.
1 2 3 4 5 6 |
//хеш-массив var A = {'AA': 'a', 'BB': 'b', 'CC': 'c'}; //значения ключа для удаления var i = "BB"; delete A[i]; //в А останется только {'AA': 'a', 'CC': 'c'} два элемента |