Pertanyaan Bagaimana cara menghapus / membongkar properti objek javascript? [duplikat]


Kemungkinan Duplikat:
Bagaimana cara membatalkan variabel Javascript?
Cara menghapus properti dari objek javascript 

Saya mencari cara untuk menghapus / unset sifat-sifat objek JS sehingga mereka tidak akan lagi muncul jika saya mengulang melalui objek lakukan for (var i in myObject). Bagaimana ini bisa dilakukan?


75
2018-06-26 16:19


asal


Jawaban:


gunakan saja delete, tetapi perhatikan bahwa Anda harus membaca sepenuhnya apa efek dari penggunaan ini:

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

tetapi jika saya menggunakannya seperti ini:

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

tetapi jika Anda ingin menghapus variabel dalam namespace global, Anda dapat menggunakan objek global seperti window, atau menggunakan this di ruang lingkup terluar yaitu

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

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

Fakta lain adalah bahwa menggunakan delete pada array tidak akan menghapus indeks tetapi hanya mengatur nilai ke tidak terdefinisi, yang berarti dalam struktur kontrol tertentu seperti untuk loop, Anda masih akan iterate atas entitas itu, ketika datang ke array, Anda harus menggunakan splice yang merupakan prototipe dari objek array.

Contoh Array:

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

jika saya harus melakukan:

delete myCars[1];

array yang dihasilkan adalah:

["Saab", undefined, "BMW"]

tetapi menggunakan sambatan seperti:

myCars.splice(1,1);

akan menghasilkan:

["Saab", "BMW"]

94
2018-06-26 16:25



Untuk mengosongkannya:

myObject["myVar"]=null;

Untuk menghapusnya:

delete myObject["myVar"]

seperti yang Anda lihat dalam jawaban ganda


7
2018-06-26 16:22