Sangat sering ada saat-saat ketika kita ingin menghapus semua elemen array, sebagai opsi, kita memiliki daftar tugas, dan kita ingin menghapus semua tugas pada saat yang bersamaan.
Pertimbangkan daftar elemen berikut:
let items = ["tea", "coffee", "milk"];
Untuk menghapus semua elemen dari array, kami menetapkan nilainya ke array kosong
items = [];
Ini berfungsi dengan baik, dan Anda akan menemukan bahwa contoh ini digunakan terus-menerus. Tapi ada masalah dengan ini ...
:
let items = ["tea", "coffee", "milk"];
let copy = items;
copy , copy items.
console.log(items);
console.log(copy);
.
, - , , , .
copy[2] = "oranges";
console.log(items);
console.log(copy);
items, , , :
items = [];
, items copy
console.log(items);
console.log(copy);
, items , copy .
, items = [], , copy.
, (array), (object), - , , , .
, , array = [], [] — , .
. obj = {name: 'David'}, obj , , .
let obj = { name: 'David' };
let newObj = obj;
console.log(obj);
console.log(newObj);
obj = null;
console.log(obj);
console.log(newObj);
:
- 0:
let items = ["tea", "coffee", "milk"];
let copy = items;
console.log(items);
console.log(copy);
items.length = 0;
console.log(items);
console.log(copy);
- splice :
let items = ["tea", "coffee", "milk"];
let copy = items;
console.log(items);
console.log(copy);
items.splice(0, items.length);
console.log(items);
console.log(copy);
, , , items = [];
:
Kita seharusnya tidak membuat tautan tambahan untuk array atau objek, karena ini dapat menyebabkan hasil yang tidak diinginkan di masa depan. Jika Anda yakin tidak ada referensi (* dan tidak akan muncul) ke array asli yang perlu kita hapus, maka Anda dapat menggunakan array = [] untuk menghapusnya, jika tidak gunakan salah satu dari dua metode di atas untuk menghapus array.
Mari buat web lebih baik.