Подтвердить что ты не робот

Как удалить/удалить свойства объекта javascript?

Возможные дубликаты:
Как отключить переменную Javascript? Как удалить свойство из объекта javascript

Я ищу способ удалить/отключить свойства объекта JS, чтобы они больше не появлялись, если я прокручиваю объект, выполняющий for (var i in myObject). Как это можно сделать?

4b9b3361

Ответ 1

просто используйте delete, но имейте в виду, что вы должны полностью прочитать, какие эффекты используют это:

 delete object.index; //true
 object.index; //undefined

но если бы я должен был использовать так:

var x = 1; //1
delete x; //false
x; //1

но если вы хотите удалить переменные в глобальном пространстве имен, вы можете использовать его глобальный объект, например window, или используя this в самой внешней области i.e

var a = 'b';
delete a; //false
delete window.a; //true
delete this.a; //true

http://perfectionkills.com/understanding-delete/

другой факт заключается в том, что использование delete в массиве не удаляет индекс, а только устанавливает значение undefined, что означает определенные структуры управления, такие как для циклов, вы все равно будете перебирать этот объект, когда дело доходит до массива вы должны использовать splice, который является прототипом объекта массива.

Пример массива:

var myCars=new Array();
myCars[0]="Saab";
myCars[1]="Volvo";
myCars[2]="BMW";

если я должен был сделать:

delete myCars[1];

результирующий массив будет:

["Saab", undefined, "BMW"]

но используя такой сплайс:

myCars.splice(1,1);

приведет к:

["Saab", "BMW"]

Ответ 2

Чтобы очистить его:

myObject["myVar"]=null;

Чтобы удалить его:

delete myObject["myVar"]

как вы можете видеть в двойных ответах