Как удалить ключ bar из массива foo, чтобы bar не отображался в
for(key in foo){alert(key);}
javascript
arrays
Стивен Ноубл
источник
источник
for (var key in myArray)
вместоfor (key in myArray)
- в противном случаеkey
это глобальная переменная, и если вы вызовете функцию внутри этого цикла, которая имеет ту же проблему, вы получите неожиданные результаты.delete foo[key];
: D
источник
eval
. Удаление ключа / индекса объекта / массива может быть достигнуто с помощью гораздо более простых методов, которые не используютсяeval
.Важное замечание: массивы JavaScript не являются ассоциативными массивами, как те, к которым вы, возможно, привыкли в PHP. Если ваш «ключ массива» является строкой, вы больше не работаете с содержимым массива. Ваш массив является объектом, и вы используете скобку для доступа к члену с именем <key name>. Таким образом:
поскольку вы не добавляли элементы в массив, вы изменили только элементы bar и foo в myArray.
источник
Если вы знаете имя ключа, просто сделайте так:
delete array['key_name']
источник
Вот как бы я это сделал
myArray.splice( myArray.indexOf('bar') , 1)
источник
http://www.internetdoc.info/javascript-function/remove-key-from-array.htm
removeKey(arrayName,key); function removeKey(arrayName,key) { var x; var tmpArray = new Array(); for(x in arrayName) { if(x!=key) { tmpArray[x] = arrayName[x]; } } return tmpArray; }
источник