Objek JS itu sendiri ialah struktur nilai kunci Mengapa ES6 perlu menambah Peta Apakah perbezaan antara objek JS biasa?
1. Peta
1. Pembina Peta
Mari kita lihat penggunaan ringkas Peta dahulu
// 字符串作为key, 和JS对象类似 var map = new Map() // set map.set('name', 'John') map.set('age', 29) // get map.get('name') // John map.get('age') // 29
Dengan kod ini, nampaknya ia tidak seringkas objek JS
Tetapi kuasa Map ialah kuncinya boleh dari sebarang jenis
// 对象作为key演示 var xy = {x: 10, y: 20} // 坐标 var wh = {w: 100, h: 200} // 宽高 var map = new Map() // set map.set(xy, '坐标') map.set(wh, '宽高') // get map.get(xy) // '坐标' map.get(wh) // '宽高'
Di atas menunjukkan Peta menggunakan objek sebagai kunci. Berikut ialah ilustrasi
Pembina Peta juga menyokong tatasusunan lulus
var map = new Map([["name", "John"], ["age", "29"]]) // 遍历key for (var key of map.keys()) { console.log(key) // name, age }
2. Lelaran
Gunakan untuk daripada untuk lelaran Peta seperti Set, panggil map.keys() untuk kunci, map.values() untuk nilai dan map.entry() untuk entiti nilai kunci
var map = new Map() // set map.set('name', 'John') map.set('age', 29) // get map.get('name') // 'John' map.get('age') // 29 // 遍历key for (var key of map.keys()) { console.log(key) } // 遍历value for (var val of map.values()) { console.log(val) } // 遍历实体 for (var arr of map.entries()) { console.log('key: ' + arr[0] + ', value: ' + arr[1]) } // 遍历实体的简写 for (var [key, val] of map.entries()) { console.log('key: ' + key + ', value: ' + val) }
3. Kaedah dan sifat
2. Peta Lemah
Perbezaan daripada Peta
Tidak menerima nilai jenis asas sebagai nama kunci
Tiada kunci, nilai, entri dan saiz
Terdapat kaedah berikut
Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.