Jadual Kandungan
peta es6
1-2-1 Tambah elemen pemetaan" >1-2-1 Tambah elemen pemetaan
1-2 - 2 Memetakan panjang koleksi " >1-2 - 2 Memetakan panjang koleksi
1-2 -3 Dapatkan elemen " >1-2 -3 Dapatkan elemen
1- 2-4 Padam elemen" >1- 2-4 Padam elemen
1- 2-5 Kesan sama ada unsur wujud " > 1- 2-5 Kesan sama ada unsur wujud
1-2-6 Kaedah elemen jelas" >1-2-6 Kaedah elemen jelas
Rumah hujung hadapan web Soal Jawab bahagian hadapan Adakah peta es6 jenis rujukan?

Adakah peta es6 jenis rujukan?

Jan 11, 2023 pm 04:59 PM
es6 map

Peta ialah jenis rujukan; peta (set) ialah jenis data rujukan baharu dalam es6, yang mewakili hubungan pemetaan data. Data dalam jenis data koleksi peta disimpan dalam cara "kunci/nilai" Anda boleh menggunakan sifat objek sebagai kunci dan menggunakan sifat untuk merujuk nilai peta boleh dibuat menggunakan yang baru, contohnya "const myMap = new Map();" .

Adakah peta es6 jenis rujukan?

Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.

Peta ialah jenis rujukan.

peta es6

Sebelum ES6, untuk melaksanakan 'kunci' =>'nilai' dalam JavaScript, yang sering kita panggil pasangan nilai kunci, adalah untuk gunakan Objek untuk melengkapkan. Walau bagaimanapun, kaedah pelaksanaan ini mempunyai masalah dalam senario khas ES6 telah memperkenalkan jenis koleksi baharu yang dipanggil Map, yang membawa mekanisme penyimpanan pasangan nilai kunci sebenar kepada bahasa.

Peta (koleksi) ialah jenis data rujukan baharu dalam es6, yang mewakili hubungan pemetaan data dalam jenis data koleksi peta disimpan dalam cara "kunci/nilai", dan sifat-sifat objek boleh digunakan Sebagai kunci, gunakan sifat untuk merujuk nilai.

1-1 Cipta Peta

Gunakan kata kunci new untuk membuat seketika peta

let m = new Map();

console.log(m);
// Map(0) {}
Salin selepas log masuk

Dimulakan apabila dibuat:
Lulus dalam parameter tatasusunan dua dimensi (objek boleh lelar, nilai kunci dihantar sebagai tatasusunan secara dalaman)
Untuk setiap subtatasusunan, elemen pertama adalah peta yang sepadan key, elemen kedua ialah peta yang sepadan value

let m = new Map([[{}, 222], [{}, '123']]);

console.log(m);
// Map(2) { {} => 222, {} => '123' }
Salin selepas log masuk

1-2 Peta Api

1-2-1 Tambah elemen pemetaan

Tambahkannya melalui kaedah set(), masukkan dua parameter, yang pertama ialah kunci pemetaan , dan Dua nilai dihantar ke peta. Apa yang dikembalikan ialah set pemetaan (bermaksud ia boleh ditambah dalam rantai)

let m = new Map();

m.set('prop', '值');

console.log(m);
// Map(1) { 'prop' => '值' }
Salin selepas log masuk

Nilai kunci berantai

let m = new Map();

m.set('prop', '值').set('prop2', false).set('num', {id: 13});

console.log(m);
// Map(3) { 'prop' => '值', 'prop2' => false, 'num' => { id: 13 } }
Salin selepas log masuk

1-2 - 2 Memetakan panjang koleksi

Gunakan atribut size untuk mendapatkan bilangan semasa elemen koleksi

let m = new Map();

m.set('prop', '值').set('prop2', false).set('num', {id: 13});

console.log(m.size);
Salin selepas log masuk

1-2 -3 Dapatkan elemen

Dapatkan elemen melalui kaedah get() dan masukkan kunci sasaran

let m = new Map();

m.set('prop', '值').set('prop2', false).set('num', {id: 13});

console.log(m.get('prop2'));
// false
Salin selepas log masuk

1- 2-4 Padam elemen

Padamkan elemen dalam koleksi yang dipetakan melalui kaedah delete(), mengembalikan nilai Boolean kejayaan atau kegagalan pemadaman

let m = new Map();

m.set('prop', '值').set('prop2', false).set('num', {id: 13});

m.delete('prop2');
// true

console.log(m.get('prop2'), m.size);
// undefined 2
Salin selepas log masuk

1- 2-5 Kesan sama ada unsur wujud

Gunakan kaedah has() untuk mengesan sama ada unsur sasaran wujud dan kembalikan nilai Boolean hasil pengesanan

let m = new Map();

m.set('prop', '值').set('prop2', false).set('num', {id: 13});

m.delete('prop2');
// true

console.log(m.has('prop2'), m.has('num'));
// false  true
Salin selepas log masuk

1-2-6 Kaedah elemen jelas

Gunakan kaedah clear() untuk mengosongkan semua elemen dan mengembalikan nilai Boolean yang menunjukkan pembersihan yang berjaya

let m = new Map();

m.set('prop', '值').set('prop2', false).set('num', {id: 13});

m.clear();
// true

console.log(m);
// Map(0) {}
Salin selepas log masuk

1-3 Urutan dan Lelaran

peta boleh mengulang elemen mengikut susunan sisipan
Contoh peta akan menyediakan (iterator). Ia boleh menjana bentuk [kunci dalam susunan sisipan , nilai], boleh dilalui melalui kaedah entri() (atau antara muka iterator Symbol.iterator) yang disediakan.

let m = new Map();

m.set('prop', '值').set('prop2', false).set('num', {id: 13});

console.log(m.entries === m[Symbol.iterator]);// true

for(let k1 of m.entries()){
    console.log(k1);
    // [ 'prop', '值' ]
    // [ 'prop2', false ]
    // [ 'num', { id: 13 } ]
    // 遍历的属性即对应映射元素的键值对数组
}

for(let k2 of m.keys()){
    console.log(k2);
    // prop
    // prop2
    // num
    // 遍历的属性对应映射元素的键
}

for(let k3 of m.values()){
    console.log(k3);
    // 值
    // false
    // { id: 13 }
    // 遍历的属性对应映射元素的值
}

for(let k4 of m[Symbol.iterator]()){
    console.log(k4);
    // [ 'prop', '值' ]
    // [ 'prop2', false ]
    // [ 'num', { id: 13 } ]
    // 遍历的属性即对应映射元素的键值对数组
}
Salin selepas log masuk

1-4 Perbandingan dengan Objek

  • Penggunaan memori

    Perbezaan dalam penyemak imbas akan menyebabkan penggunaan memori bagi kedua-dua kaedah storan itu berbeza Walau bagaimanapun, berdasarkan saiz memori, peta menyimpan lebih kurang 50% pasangan nilai kunci daripada Objek

  • Prestasi sisipan.

    Kelajuan sisipan Prestasi peta dan Objek adalah lebih kurang sama, tetapi jika kod tersebut melibatkan bilangan sisipan yang banyak, adalah disyorkan untuk menggunakan peta

  • Kelajuan carian

    Perbezaannya adalah kecil. Objek adalah lebih baik apabila ia hanya mengandungi sebilangan kecil pasangan nilai kunci

  • Padam prestasi

    Padam objek() prestasi adalah lemah, manakala padam peta() () mempunyai prestasi yang baik Jika data melibatkan sejumlah besar operasi pemadaman, adalah disyorkan untuk menggunakan peta

[Cadangan berkaitan. : tutorial video javascript, Video Pengaturcaraan

Atas ialah kandungan terperinci Adakah peta es6 jenis rujukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah springboot membaca senarai, tatasusunan, koleksi peta dan objek dalam fail yml? Bagaimanakah springboot membaca senarai, tatasusunan, koleksi peta dan objek dalam fail yml? May 11, 2023 am 10:46 AM

application.yml mentakrifkan koleksi senarai Cara pertama ialah menggunakan anotasi @ConfigurationProperties untuk mendapatkan semua nilai jenis koleksi senarai:kod:status:-200-300-400-500. Tulis kelas entiti yang sepadan fail konfigurasi. Apa yang perlu diperhatikan di sini ialah mentakrifkan Koleksi senarai, mula-mula tentukan kelas konfigurasi Bean, dan kemudian gunakan anotasi @ConfigurationProperties untuk mendapatkan nilai koleksi senarai Di sini kami akan menerangkan peranan anotasi yang berkaitan. @Component menyerahkan kelas entiti kepada pengurusan Spring @ConfigurationPropertie

Bagaimana untuk menetapkan peta masa tamat tempoh di Jawa Bagaimana untuk menetapkan peta masa tamat tempoh di Jawa May 04, 2023 am 10:13 AM

1. Latar belakang teknikal Dalam pembangunan projek sebenar, kami sering menggunakan perisian tengah caching (seperti redis, MemCache, dll.) untuk membantu kami meningkatkan ketersediaan dan keteguhan sistem. Tetapi dalam banyak kes, jika projek itu agak mudah, tidak perlu memperkenalkan perisian tengah secara khusus seperti Redis untuk meningkatkan kerumitan sistem untuk menggunakan caching. Jadi adakah Java sendiri mempunyai komponen caching ringan yang berguna? Jawapannya sudah tentu ya, dan terdapat lebih daripada satu cara. Penyelesaian biasa termasuk: ExpiringMap, LoadingCache dan pembungkusan berasaskan HashMap. 2. Kesan teknikal untuk merealisasikan fungsi biasa cache, seperti strategi pemadaman lapuk, pemanasan data hotspot 3. ExpiringMap3.

Adakah async untuk es6 atau es7? Adakah async untuk es6 atau es7? Jan 29, 2023 pm 05:36 PM

async ialah es7. async dan await ialah penambahan baharu kepada ES7 dan merupakan penyelesaian untuk operasi asynchronous/wait boleh dikatakan sebagai gula sintaktik untuk modul bersama dan fungsi penjana, menyelesaikan kod tak segerak dengan semantik yang lebih jelas. Seperti namanya, async bermaksud "tak segerak".

Apakah cara untuk melaksanakan keselamatan benang untuk Peta di Jawa? Apakah cara untuk melaksanakan keselamatan benang untuk Peta di Jawa? Apr 19, 2023 pm 07:52 PM

Kaedah 1. Gunakan HashtableMapashtable=newHashtable(); Ini adalah perkara pertama yang semua orang fikirkan, jadi mengapa ia selamat untuk thread? Kemudian lihat pada kod sumbernya. Kita dapat melihat bahawa kaedah yang biasa kita gunakan seperti put, get, dan containsKey semuanya adalah segerak, jadi ia adalah thread-safe publicsynchronizedbooleancontainsKey(Objectkey){Entrytab[]=table;inthash=key. hashCode( );intindex=(hash&0x7FFFFFFF)%tab.leng

Cara menukar objek kepada Peta dalam Java - menggunakan BeanMap Cara menukar objek kepada Peta dalam Java - menggunakan BeanMap May 08, 2023 pm 03:49 PM

Terdapat banyak cara untuk menukar javabeans dan peta, seperti: 1. Tukar beans kepada json melalui ObjectMapper, dan kemudian menukar json kepada map Namun, kaedah ini adalah rumit dan tidak cekap, 10,000 beans telah ditukar dalam satu gelung. ia mengambil masa 12 saat! ! ! Tidak disyorkan. 2. Dapatkan atribut dan nilai kelas kacang melalui refleksi Java, dan kemudian tukarkannya kepada pasangan nilai kunci yang sepadan dengan peta Kaedah ini adalah yang kedua terbaik, tetapi ia lebih menyusahkan. 3. Melalui kaedah net.sf.cglib.beans.BeanMap di dalam kelas, kaedah ini sangat cekap Perbezaan antara kaedah ini dan kaedah kedua ialah kerana ia menggunakan cache, ia perlu dimulakan apabila mencipta bean untuk yang pertama. masa.

Bagaimana untuk melaksanakan deduplikasi tatasusunan dalam es5 dan es6 Bagaimana untuk melaksanakan deduplikasi tatasusunan dalam es5 dan es6 Jan 16, 2023 pm 05:09 PM

Dalam es5, anda boleh menggunakan fungsi for dan indexOf() untuk mencapai deduplikasi tatasusunan Sintaks "for(i=0;i<array length;i++){a=newArr.indexOf(arr[i]);if(. a== -1){...}}". Dalam es6, anda boleh menggunakan operator spread, Array.from() dan Set untuk mengalih keluar penduaan anda perlu terlebih dahulu menukar tatasusunan menjadi objek Set untuk mengalih keluar pendua, dan kemudian menggunakan fungsi spread atau Array.from() untuk tukar objek Set kembali kepada kumpulan Just.

Bagaimana untuk mengkonfigurasi dan menggunakan modul peta dalam pelayan Nginx Bagaimana untuk mengkonfigurasi dan menggunakan modul peta dalam pelayan Nginx May 21, 2023 pm 05:14 PM

Arahan peta disediakan oleh modul ngx_http_map_module. Secara lalai, nginx memuatkan modul ini melainkan secara buatan --tanpa-http_map_module. Modul ngx_http_map_module boleh mencipta pembolehubah yang nilainya dikaitkan dengan nilai pembolehubah lain. Membenarkan pengelasan atau pemetaan serentak berbilang nilai kepada berbilang nilai yang berbeza dan storan dalam pembolehubah Arahan peta digunakan untuk mencipta pembolehubah, tetapi hanya menjalankan operasi pemetaan paparan apabila pembolehubah diterima memproses permintaan yang tidak merujuk pembolehubah, ini Modul ini tidak mempunyai kelemahan prestasi. 1.ngx_http_map_module modul arahan penerangan sintaks peta

Optimumkan prestasi peta bahasa Go Optimumkan prestasi peta bahasa Go Mar 23, 2024 pm 12:06 PM

Mengoptimumkan prestasi peta bahasa Go Dalam bahasa Go, peta ialah struktur data yang sangat biasa digunakan, digunakan untuk menyimpan koleksi pasangan nilai kunci. Walau bagaimanapun, prestasi peta mungkin terjejas apabila memproses sejumlah besar data. Untuk meningkatkan prestasi peta, kami boleh mengambil beberapa langkah pengoptimuman untuk mengurangkan kerumitan masa operasi peta, dengan itu meningkatkan kecekapan pelaksanaan program. 1. Pra-peruntukkan kapasiti peta Apabila membuat peta, kita boleh mengurangkan bilangan pengembangan peta dan meningkatkan prestasi program dengan pra-peruntukan kapasiti. Secara umumnya, kami

See all articles