Примеры JavaScript - Как удалить элемент массива? / Как добавить элемент в середину массива?

ОГЛАВЛЕНИЕ


Как удалить элемент массива? / Как добавить элемент в середину массива?

Для удаления элемента из ассоциативного массива используйте оператор delete
var assoc = new Array();
assoc["a"] = "a";
assoc["b"] = "b";
assoc["c"] = "c";

delete assoc["b"];

Оператор delete поддерживается начиная с Nav2+, NES3+, IE 4+, Opera3+

Замечание: свойство length оператором delete не изменяется, но это для ассоциативных массивов значения не имеет ибо length всегда для них равен 0. Однако для числовых массивов это крайне важно и помните об этом! Почему не меняется свойство length? Потому что Array.length - это не длина массива, а максимальный индекс массива который только был у массива, хотя чаще всего length равно именно длине массива. Кстати свойству length можно присваивать значения, тем самым урезая массив или расширяя массив новыми элементами со значением "undefined".

Для удаления элементов из числового массива или вставки элементов с изменением индексов и свойства length используйте метод splice объекта Array.

Синтаксис: array.splice(start, delete, arg3,...,argN)

Параметры:

start - число, задающее индекс, с которого должно начаться удаление элементов и/или вставка новых элементов
delete - необязательный параметр указывающий количество элементов которое следует удалить начиная с индекса start
arg3,...,argN - необязательные параметры которые будут вставлены в массив в качестве новых элементов начиная с индекса start

Описание:

Если "delete" является числом больше нуля, то элементы начиная с индекса "start" до элемента с индексом start+delete будут удалены из массива. Если же delete равен нулю, то удаляться ничего не будет. Если delete не указан, то все элементы с индекса "start" до конца массива будут удалены. Если за аргуметом delete указаны какие-то параметры, то они будут добавлены к массиву как его элементы начиная с индекса "start". Существующие элементы перенумеровываются в сторону старших индексов предоставляя место новым элементам.

Метод splice объекта Array поддерживается начиная с Nav4+, IE5.5+, Opera5+

Замечание: помните, что индекс первого элемента в массивах начинается с 0.

Примеры:

var a = new Array(1,2,3,4,5);
// a.length равно 5

a.splice(1,2); // начиная с индекса 1 удалить 2 элемента
//a = (1,4,5)
// a.length равно 3

a.splice(2,0, 9, 8, 7); //добавить в массив начиная с индекса 2 новые элементы, ничего при этом не удаляя
// a = (1,4, 9,8,7, 5)

a.splice(3,2, -10);//удалить начиная с индекса 3 два элемента и добавить с индекса 3 элемент со значением -10
// a = (1,4,9, -10, 5)

a.splice(2);//удалить все элементы начиная с индекса 2 до конца массива
//a = (1,4)

Как узнать какие свойства есть у объекта (оператор for in)?

Как узнать все свойства объекта? В этом поможет оператор for in

Синтаксис оператора:

for ( variable in object )
{
  code;
}

Суть оператора в следующем: при каждой итерации цикла, переменной "variable" присваивается имя очередного свойства объекта "object".

Рассмотрим функцию, которая перебирает свойства объекта и возвращает их вместе со значениями в виде строки:

function showProperties(obj, objName) 
{
  var result = "The properties for the " + objName + " object:" + "\n";
 
  for (var i in obj) {result += i + " = " + obj[i] + "\n";}
 
  return result;
}
Посмотреть свойства объекта window.navigator