Objek JavaScript adalah cara terbaik untuk menyimpan dan mengambil data dalam format properti kunci. Mereka memungkinkan Anda untuk menyimpan variabel, array, tanggal, fungsi, dan bahkan referensi di tempat. Terkadang Anda mungkin perlu menghapus kunci tertentu dari objek JS. Pada artikel ini, kita akan mempelajari cara menghapus kunci dari Objek JavaScript Show Cara Menghapus Kunci dari Objek JavaScriptAnda dapat dengan mudah menghapus kunci dari Objek JavaScript menggunakan pernyataan hapus. Berikut adalah sintaks untuk itu delete object.keyname; or delete object["keyname"]; Katakanlah Anda memiliki objek berikut dalam JavaScript var thisIsObject= { 'Cow' : 'Moo', 'Cat' : 'Meow', 'Dog' : 'Bark' };_ Katakanlah Anda ingin menghapus kunci 'Sapi' dari objek JS Anda Berikut adalah berbagai perintah untuk melakukan ini. Semuanya menghasilkan penghapusan kunci yang ditentukan serta nilai propertinya. Satu-satunya cara untuk menghapus kunci dari objek JS adalah menghapus propertinya menggunakan perintah hapus // Example 1 var key = "Cow"; delete thisIsObject[key]; // Example 2 delete thisIsObject["Cow"]; // Example 3 delete thisIsObject.Cow; Pada contoh pertama, kami menetapkan kunci yang akan dihapus ke variabel, meneruskannya ke nama objek untuk mengambil propertinya. Kami menggunakan perintah delete untuk menghapusnya. Ini berguna jika nama kunci Anda ada dalam variabel. Ini juga berguna jika Anda ingin mengulang elemen objek dan menghapus beberapa kunci satu demi satu Dalam contoh kedua, kami meneruskan nilai kunci literal untuk mengambil properti dan dalam contoh ketiga kami menggunakan notasi titik untuk mengakses dan menghapus propertinya Pada artikel ini, kami telah mempelajari beberapa cara berbeda untuk menghapus kunci dari objek JS. Anda dapat menggunakan salah satu dari mereka sesuai kebutuhan Anda Dengan mendestruktur objek dan menggunakan sintaks sisanya, objek baru dapat dibuat dengan semua properti dari objek asli kecuali beberapa. Ini adalah operasi yang tidak dapat diubah, dan objek aslinya dibiarkan tidak berubah Operator _1 menghapus properti dari objek. Jika nilai properti adalah objek dan tidak ada lagi referensi ke objek tersebut, objek yang dipegang oleh properti tersebut pada akhirnya akan dirilis secara otomatis _Catatan. Sintaks memungkinkan rentang ekspresi yang lebih luas mengikuti operator 1, tetapi hanya bentuk di atas yang mengarah ke perilaku yang bermakna _3Nama objek, atau ekspresi yang mengevaluasi objek _4Properti yang akan dihapus 5 untuk semua kasus kecuali bila properti adalah properti sendiri, dalam hal ini 6 dikembalikan dalam mode tidak ketat _7Dilemparkan dalam mode ketat jika properti adalah properti yang tidak dapat dikonfigurasi sendiri 8Dilempar jika 3 adalah 0Operator _1 memiliki prioritas yang sama dengan operator unary lainnya seperti 2. Oleh karena itu, ia menerima ekspresi apa pun yang dibentuk oleh operator dengan prioritas lebih tinggi. Namun, formulir berikut menyebabkan kesalahan sintaksis awal dalam mode ketat
Karena kelas secara otomatis dalam mode ketat, dan properti pribadi hanya dapat dirujuk secara legal di badan kelas, ini berarti properti pribadi tidak akan pernah bisa dihapus. Sementara _3 jika 4 mengacu pada properti yang dapat dikonfigurasi dari objek global, Anda harus menghindari formulir ini dan mengawalinya dengan 5 sebagai gantinyaSementara ekspresi lain diterima, mereka tidak mengarah pada perilaku yang bermakna
Operator _1 menghapus properti tertentu dari objek. Jika penghapusan berhasil, itu akan mengembalikan 5, jika tidak 6 akan dikembalikan. Tidak seperti yang disarankan oleh kepercayaan umum (mungkin karena bahasa pemrograman lain seperti hapus di C++), operator 1 tidak ada hubungannya dengan membebaskan memori secara langsung. Manajemen memori dilakukan secara tidak langsung melalui referensi pemutusan. Lihat halaman manajemen memori untuk detail lebih lanjutPenting untuk mempertimbangkan skenario berikut
Seperti spesifikasi ECMAScript modern, urutan traversal properti objek didefinisikan dengan baik dan stabil di seluruh implementasi. Namun, dalam kasus Internet Explorer, ketika seseorang menggunakan 1 pada properti, beberapa hasil perilaku membingungkan, mencegah browser lain menggunakan objek sederhana seperti literal objek sebagai array asosiatif yang dipesan. Di Explorer, sementara nilai properti memang disetel ke 3, jika nanti menambahkan kembali properti dengan nama yang sama, properti akan diulang di posisi lamanya — bukan di akhir urutan iterasi seperti yang diharapkan setelah dihapus Jika Anda ingin menggunakan larik asosiatif terurut dengan dukungan runtime lama, gunakan objek 4 jika tersedia (melalui polyfill, misalnya), atau simulasikan struktur ini dengan dua larik terpisah (satu untuk kunci dan yang lainnya untuk nilai) Catatan. Contoh berikut menggunakan fitur mode non-ketat saja, seperti membuat variabel global secara implisit dan menghapus pengidentifikasi, yang dilarang dalam mode ketat
Dalam contoh berikut, kami menghapus properti objek sendiri sementara properti dengan nama yang sama tersedia di rantai prototipe
Saat Anda menghapus elemen larik, larik 5 tidak terpengaruh. Ini berlaku bahkan jika Anda menghapus elemen terakhir dari arraySaat operator _1 menghapus elemen larik, elemen tersebut tidak lagi ada dalam larik. Dalam contoh berikut, _7 dihapus dengan 1
Ini menciptakan a dengan slot kosong. Jika Anda ingin elemen array ada tetapi memiliki nilai yang tidak ditentukan, gunakan nilai 3 alih-alih operator 1. Dalam contoh berikut, _7 diberi nilai 3, tetapi elemen array masih ada
Jika sebaliknya, Anda ingin menghapus elemen array dengan mengubah isi array, gunakan metode 3. Dalam contoh berikut, _7 dihapus sepenuhnya dari array menggunakan 3
Ketika properti ditandai sebagai tidak dapat dikonfigurasi, 1 tidak akan berpengaruh, dan akan mengembalikan 6. Dalam mode ketat, ini akan menaikkan 7
9 membuat properti yang tidak dapat dikonfigurasi yang tidak dapat dihapus dengan operator 1
Dalam mode ketat, ini akan menimbulkan pengecualian Jika properti global dapat dikonfigurasi (misalnya, melalui penugasan properti langsung), itu dapat dihapus, dan referensi selanjutnya sebagai variabel global akan menghasilkan 8
Bagaimana cara menghapus banyak kunci dari objek di JavaScript?omit function mengambil objek Anda dan larik kunci yang ingin Anda hapus dan mengembalikan objek baru dengan semua properti dari objek asli kecuali yang disebutkan dalam larik . Ini adalah cara yang rapi untuk melepas kunci karena dengan menggunakan ini Anda mendapatkan objek baru dan objek aslinya tetap tidak tersentuh.
Bagaimana cara menghapus beberapa properti dari objek JavaScript?Sebagai alternatif, Anda dapat menggunakan penghancuran objek untuk menghapus beberapa properti dengan satu panggilan. cons orang = { nama depan. "John", nama belakang. "Doe", jenis kelamin. "Pria", usia. 34 }; . personTrimmed} = orang; . stringify(orangDipangkas); .
Bagaimana cara menghapus kunci dari suatu objek di JavaScript?Gunakan hapus untuk Menghapus Kunci Objek
. Meskipun Anda mungkin berpikir menyetel kunci objek sama dengan undefined akan menghapusnya, karena undefined adalah nilai yang dimiliki oleh kunci objek yang belum disetel, kuncinya akan tetap ada.
Bagaimana cara menghapus beberapa properti dari objek JavaScript?Dalam JavaScript, ada 2 cara umum untuk menghapus properti dari objek. Pendekatan pertama yang dapat diubah adalah menggunakan objek hapus. operator properti . Pendekatan kedua, yang tidak dapat diubah karena tidak mengubah objek aslinya, adalah dengan memanggil penghancuran objek dan menyebarkan sintaks. const {properti,. |