Objek const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9 menyimpan data dalam key-value pair yang mirip dengan objek biasa di JavaScript. Tidak seperti objek JavaScript, const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}_9 menyediakan beberapa metode utilitas untuk memanipulasi data dan lainnya Show
const map = new Map(); map.set('x', 5); map.set('y', 10); console.log(map); // Map(2) {'x' => 5, 'y' => 10} console.log(map.get('x')); // 5 Kita dapat melewatkan Array pasangan nilai kunci 2D di konstruktor map.set(key, value);1 untuk membuat const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9 dengan data awal const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10} Metode utilitas dan propertiObjek const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9 menyediakan beberapa metode pembantu untuk menambah/menghapus data, mendapatkan data, memeriksa apakah ada kunci, dan banyak lagi. Ayo temukan semuanya Metode set()Metode ini menambahkan entri data baru dengan kunci dan nilai yang disediakan. Jika kunci sudah ada, maka itu hanya memperbarui nilainya. Ini mengembalikan objek const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}_9 yang diperbarui. Sintaksnya adalah map.set(key, value); Di sini map.set(key, value);_5 dapat berupa tipe data apa pun, termasuk objek, array, fungsi, dll. Demikian pula, map.set(key, value);_6 juga dapat berupa tipe data apa pun const fn = function() {}; const ob = { x: 20 }; const map = new Map(); map.set('x', 5); map.set(10, { a: 10 }); map.set(fn, 'some function'); map.set(ob, 'some object'); map.set(NaN, null); Karena map.set(key, value);_7 mengembalikan objek const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9 yang diperbarui, kita juga dapat menggabungkan beberapa panggilan map.set(key, value);7 secara bersamaan const map = new Map(); map.set('x', 10).set('y', 20).set('z', 30); console.log(map); // Map(3) {'x' => 10, 'y' => 20, 'z' => 30} Metode get()Metode ini mengembalikan nilai terkait dari kunci yang disediakan. Jika kuncinya tidak ada, maka ia mengembalikan const fn = function() {}; const ob = { x: 20 }; const map = new Map(); map.set('x', 5); map.set(10, { a: 10 }); map.set(fn, 'some function'); map.set(ob, 'some object'); map.set(NaN, null);0 const map = new Map(); map.set('x', 10); map.set('y', 20); console.log(map.get('x')); // 10 console.log(map.get('abc')); // undefined metode has()Metode ini mengembalikan const fn = function() {}; const ob = { x: 20 }; const map = new Map(); map.set('x', 5); map.set(10, { a: 10 }); map.set(fn, 'some function'); map.set(ob, 'some object'); map.set(NaN, null);1 jika kunci yang disediakan ada di objek const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9, jika tidak mengembalikan const fn = function() {}; const ob = { x: 20 }; const map = new Map(); map.set('x', 5); map.set(10, { a: 10 }); map.set(fn, 'some function'); map.set(ob, 'some object'); map.set(NaN, null);3 const map = new Map(); map.set('name', 'Amitav Mishra'); console.log(map.has('name')); // true console.log(map.has('address')); // false Metode hapus()Metode ini menghapus kunci yang disediakan dan nilai terkaitnya dari objek const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9. Mengembalikan const fn = function() {}; const ob = { x: 20 }; const map = new Map(); map.set('x', 5); map.set(10, { a: 10 }); map.set(fn, 'some function'); map.set(ob, 'some object'); map.set(NaN, null);_1 jika kunci yang disediakan ditemukan dan dihapus, jika tidak mengembalikan const fn = function() {}; const ob = { x: 20 }; const map = new Map(); map.set('x', 5); map.set(10, { a: 10 }); map.set(fn, 'some function'); map.set(ob, 'some object'); map.set(NaN, null);3 const map = new Map(); map.set('name', 'Amitav Mishra'); console.log(map.delete('name')); // true console.log(map.get('name')); // undefined console.log(map.delete('address')); // false Metode clear()Metode ini menghapus semua data dari objek const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9 const map = new Map(); map.set('x', 5); map.set('y', 10); map.set('z', 15); map.clear(); console.log(map); // Map(0) {size: 0} Properti ukuranProperti ini mengembalikan jumlah data yang disimpan di objek const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9 const map = new Map(); map.set('x', 5); map.set('y', 10); map.set('z', 15); console.log(map.size); // 3 Perbedaan utama antara Peta dan ObjekAda beberapa perbedaan yang membuat Maps lebih baik dari objek biasa Jenis data kunciDi objek, kita dapat menyimpan kunci hanya dengan tipe String dan Simbol, sedangkan di const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9, kita dapat menyimpan kunci dari semua tipe data, termasuk objek, array, fungsi, dll. const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}0 Urutan kunciUrutan kunci dalam objek tidak selalu dapat dijamin sama dengan urutan yang mereka masukkan, sedangkan const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9 selalu mempertahankan urutan kunci yang benar. Mari kita lihat beberapa contoh untuk memahami lebih baik Objek umumnya mempertahankan urutan kunci dengan benar. Lihat contoh di bawah ini const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}_1 Namun, saat kita memasukkan nilai numerik sebagai kunci ke objek, tombol numerik muncul lebih awal (dengan cara diurutkan) daripada kunci bernilai string lainnya. Kami juga dapat menguji ini dengan const map = new Map(); map.set('x', 10).set('y', 20).set('z', 30); console.log(map); // Map(3) {'x' => 10, 'y' => 20, 'z' => 30}_1 loop, dan mereka akan muncul dalam urutan yang sama const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}_2 Di const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9, urutan kunci selalu sama dengan urutan yang dimasukkan const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}_3 Kami juga dapat menggunakan const map = new Map(); map.set('x', 10).set('y', 20).set('z', 30); console.log(map); // Map(3) {'x' => 10, 'y' => 20, 'z' => 30}_3 loop untuk menguji ini, dan kami akan mendapatkan kunci dalam urutan yang sama Menemukan ukuran data yang disimpanDi objek, untuk mengetahui jumlah total data pasangan kunci-nilai yang disimpan, pertama, kita perlu mendapatkan semua kunci lalu menghitung panjangnya, sedangkan, di const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9, kita memiliki const map = new Map(); map.set('x', 10).set('y', 20).set('z', 30); console.log(map); // Map(3) {'x' => 10, 'y' => 20, 'z' => 30}5 properti untuk menemukan yang sama const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}_4 Mengulangi dataObjek tidak dapat diubah, sedangkan const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9 dapat diubah. Oleh karena itu, kami tidak dapat menggunakan const map = new Map(); map.set('x', 10).set('y', 20).set('z', 30); console.log(map); // Map(3) {'x' => 10, 'y' => 20, 'z' => 30}_3 loop, const map = new Map(); map.set('x', 10).set('y', 20).set('z', 30); console.log(map); // Map(3) {'x' => 10, 'y' => 20, 'z' => 30}8, spread operator, dll. , dengan objek, tetapi kita dapat menggunakannya dengan const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9 Untuk mengulangi data objek, kita harus menggunakan const map = new Map(); map.set('x', 10).set('y', 20).set('z', 30); console.log(map); // Map(3) {'x' => 10, 'y' => 20, 'z' => 30}1 loop atau menggunakan const map = new Map(); map.set('x', 10); map.set('y', 20); console.log(map.get('x')); // 10 console.log(map.get('abc')); // undefined1, const map = new Map(); map.set('x', 10); map.set('y', 20); console.log(map.get('x')); // 10 console.log(map.get('abc')); // undefined2 dll. dan kemudian ulangi hasilnya const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}5 Pertunjukanconst map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9 memiliki kinerja yang lebih baik daripada objek dalam hal penambahan dan penghapusan data. Mari kita lakukan beberapa tes kinerja untuk mengetahui hal yang sama const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}_6 Di sini konsol akan mencetak waktu yang dibutuhkan untuk menjalankan tugas. Kita dapat melihat bahwa objek membutuhkan waktu lebih dari const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9 untuk melakukan tugas yang sama
Mengubah objek menjadi Peta dan Peta menjadi objekUntuk mengonversi objek menjadi const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}_9, pertama, kita perlu membuat larik pasangan nilai kunci 2D lalu membuat const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}9 darinya const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}_7 Demikian pula, untuk mengonversi const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}_9 menjadi objek, pertama-tama, kita dapat membuat larik pasangan nilai kunci 2D lalu membuat objek darinya const map = new Map([['x', 5], ['y', 10]]); console.log(map); // Map(2) {'x' => 5, 'y' => 10}_8 Sekarang, Anda harus memiliki pemahaman yang baik tentang cara kerja Map dan kapan performanya lebih baik daripada objek biasa. Jadi, lain kali pertimbangkan semua faktor sebelum memilih antara Map atau Object Apakah peta lebih baik daripada objek JS?Sebuah objek berperilaku seperti kamus karena JavaScript diketik secara dinamis, memungkinkan Anda menambah atau menghapus properti kapan saja. Tapi Map() jauh lebih baik karena itu. Menyediakan metode get , set , has , dan delete. Menerima semua jenis kunci, bukan hanya string.
Apakah Peta JavaScript lambat?map() melakukan beberapa logika tambahan yang memperlambatnya secara signifikan dibandingkan dengan for loop mentah .
Mana yang lebih cepat peta atau untuk loop JavaScript?Anda dapat melihat bahwa for loop 3 kali lebih cepat daripada metode array seperti forEach map dan reduce . Setelah menerima elemen array, metode array menjalankan fungsi callback untuk setiap elemen.
Apakah array atau objek lebih cepat dalam JavaScript?Itu juga tergantung pada ukuran data Anda. Umumnya lebih cepat menggunakan pasangan nilai kunci objek saat Anda memiliki data dalam jumlah besar. Untuk dataset kecil, array bisa lebih cepat |