Map adalah kumpulan item data yang berkunci, seperti
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
5. Tetapi perbedaan utama adalah let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3 membolehkan kunci jenis apa pun.Metode dan properti:
7 – menciptakan map.let john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
8 – menyimpan nilai dengan kunci.let john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
9 – mengembalikan nilai dengan kunci,let john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
0 jikalet john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
1 tidak ada di map.let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
2 – mengembalikanlet john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
3 jikalet john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
1 ada,let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
5 sebaliknya.let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
6 – menghapus nilai dengan kunci.let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
7 – menghapus semua isi dari map.let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
8 – mengembalikan jumlah elemen saat ini.let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
Misalnya:
let map = new Map[];
map.set['1', 'str1']; // kunci string
map.set[1, 'num1']; // kunci nomor
map.set[true, 'bool1']; // kunci boolean
//ingat Object biasa? ia akan mengkonversi kunci menjadi string
//Map menyimpan tipenya, jadi kedua berikut tidaklah sama:
alert[ map.get[1] ]; // 'num1'
alert[ map.get['1'] ]; // 'str1'
alert[ map.size ]; // 3
Seperti yang dapat kita lihat, lain dari objek, kunci tidak dikonversi ke string. Jenis kunci apa pun dimungkinkan.
9 bukan cara yang baik untuk menggunakan let john = { name: "John" };
let ben = { name: "Ben" };
let visitsCountObj = {}; // cobalah memakai objek
visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci
visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci
// Inilah yang tertulis!
alert[ visitsCountObj["[object Object]"] ]; // 123
3let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
Meski
let john = { name: "John" };
let ben = { name: "Ben" };
let visitsCountObj = {}; // cobalah memakai objek
visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci
visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci
// Inilah yang tertulis!
alert[ visitsCountObj["[object Object]"] ]; // 123
9 juga bekerja, misal kita bisa mengeset map.set['1', 'str1']
.set[1, 'num1']
.set[true, 'bool1'];
2, ini memperlakukan map.set['1', 'str1']
.set[1, 'num1']
.set[true, 'bool1'];
3 sebagai objek JavaScript biasa, berimplikasi pada semua limitasi yang sesuai [tak ada kunci objek dan lain-lain].Jadi kita sebaiknya memakai metode
map.set['1', 'str1']
.set[1, 'num1']
.set[true, 'bool1'];
3: map.set['1', 'str1']
.set[1, 'num1']
.set[true, 'bool1'];
5, map.set['1', 'str1']
.set[1, 'num1']
.set[true, 'bool1'];
6 dan seterusnya.Map juga dapat menggunakan objek sebagai kunci.
Misalnya:
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
Menggunakan objek sebagai kunci adalah salah satu fitur
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3 yang paling terkenal dan penting. Untuk kunci string, let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
5 bisa dipakai, tetapi tidak untuk kunci objek.Mari kita coba:
let john = { name: "John" };
let ben = { name: "Ben" };
let visitsCountObj = {}; // cobalah memakai objek
visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci
visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci
// Inilah yang tertulis!
alert[ visitsCountObj["[object Object]"] ]; // 123
Karena
map.set['1', 'str1']
.set[1, 'num1']
.set[true, 'bool1'];
9 adalah sebuah objek, ia mengubah semua kunci, seperti let recipeMap = new Map[[
['cucumber', 500],
['tomatoes', 350],
['onion', 50]
]];
// iterasi atas kunci [vegetables]
for [let vegetable of recipeMap.keys[]] {
alert[vegetable]; // cucumber, tomatoes, onion
}
// iterasi atas nilai [amounts]
for [let amount of recipeMap.values[]] {
alert[amount]; // 500, 350, 50
}
// iterasi atas entri-entri [key, value]
for [let entry of recipeMap] { // the same as of recipeMap.entries[]
alert[entry]; // cucumber,500 [and so on]
}
0 menjadi string, jadi kita mendapatkan kunci string let recipeMap = new Map[[
['cucumber', 500],
['tomatoes', 350],
['onion', 50]
]];
// iterasi atas kunci [vegetables]
for [let vegetable of recipeMap.keys[]] {
alert[vegetable]; // cucumber, tomatoes, onion
}
// iterasi atas nilai [amounts]
for [let amount of recipeMap.values[]] {
alert[amount]; // 500, 350, 50
}
// iterasi atas entri-entri [key, value]
for [let entry of recipeMap] { // the same as of recipeMap.entries[]
alert[entry]; // cucumber,500 [and so on]
}
1. Jelas bukan yang kita inginkan.Cara
3 membandingkan kuncilet john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
Untuk mengetes kesamaan kunci,
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3 menggunakan algoritma . Ini kira-kira sama dengan kesetaraan ketat let recipeMap = new Map[[
['cucumber', 500],
['tomatoes', 350],
['onion', 50]
]];
// iterasi atas kunci [vegetables]
for [let vegetable of recipeMap.keys[]] {
alert[vegetable]; // cucumber, tomatoes, onion
}
// iterasi atas nilai [amounts]
for [let amount of recipeMap.values[]] {
alert[amount]; // 500, 350, 50
}
// iterasi atas entri-entri [key, value]
for [let entry of recipeMap] { // the same as of recipeMap.entries[]
alert[entry]; // cucumber,500 [and so on]
}
4, tetapi perbedaannya adalah let recipeMap = new Map[[
['cucumber', 500],
['tomatoes', 350],
['onion', 50]
]];
// iterasi atas kunci [vegetables]
for [let vegetable of recipeMap.keys[]] {
alert[vegetable]; // cucumber, tomatoes, onion
}
// iterasi atas nilai [amounts]
for [let amount of recipeMap.values[]] {
alert[amount]; // 500, 350, 50
}
// iterasi atas entri-entri [key, value]
for [let entry of recipeMap] { // the same as of recipeMap.entries[]
alert[entry]; // cucumber,500 [and so on]
}
5 dianggap sama dengan let recipeMap = new Map[[
['cucumber', 500],
['tomatoes', 350],
['onion', 50]
]];
// iterasi atas kunci [vegetables]
for [let vegetable of recipeMap.keys[]] {
alert[vegetable]; // cucumber, tomatoes, onion
}
// iterasi atas nilai [amounts]
for [let amount of recipeMap.values[]] {
alert[amount]; // 500, 350, 50
}
// iterasi atas entri-entri [key, value]
for [let entry of recipeMap] { // the same as of recipeMap.entries[]
alert[entry]; // cucumber,500 [and so on]
}
5. Jadi let recipeMap = new Map[[
['cucumber', 500],
['tomatoes', 350],
['onion', 50]
]];
// iterasi atas kunci [vegetables]
for [let vegetable of recipeMap.keys[]] {
alert[vegetable]; // cucumber, tomatoes, onion
}
// iterasi atas nilai [amounts]
for [let amount of recipeMap.values[]] {
alert[amount]; // 500, 350, 50
}
// iterasi atas entri-entri [key, value]
for [let entry of recipeMap] { // the same as of recipeMap.entries[]
alert[entry]; // cucumber,500 [and so on]
}
5 bisa digunakan sebagai kunci juga.Algoritma ini tidak dapat diubah atau dikustomisasi.
Chaining
Setiap panggilan
let recipeMap = new Map[[
['cucumber', 500],
['tomatoes', 350],
['onion', 50]
]];
// iterasi atas kunci [vegetables]
for [let vegetable of recipeMap.keys[]] {
alert[vegetable]; // cucumber, tomatoes, onion
}
// iterasi atas nilai [amounts]
for [let amount of recipeMap.values[]] {
alert[amount]; // 500, 350, 50
}
// iterasi atas entri-entri [key, value]
for [let entry of recipeMap] { // the same as of recipeMap.entries[]
alert[entry]; // cucumber,500 [and so on]
}
8 mengembalikan map itu sendiri, sehingga kami dapat “mem-chain” panggilan-panggilan:map.set['1', 'str1']
.set[1, 'num1']
.set[true, 'bool1'];
Untuk looping atas
map.set['1', 'str1']
.set[1, 'num1']
.set[true, 'bool1'];
3, ada 3 method:
0 – mengembalikan iterable untuk kunci,// menjalankan fungsi untuk setiap pasangan [kunci, nilai] recipeMap.forEach[ [value, key, map] => { alert[`${key}: ${value}`]; // cucumber: 500 etc }];
1 – mengembalikan iterable untuk nilai,// menjalankan fungsi untuk setiap pasangan [kunci, nilai] recipeMap.forEach[ [value, key, map] => { alert[`${key}: ${value}`]; // cucumber: 500 etc }];
2 – mengembalikan iterable untuk entri// menjalankan fungsi untuk setiap pasangan [kunci, nilai] recipeMap.forEach[ [value, key, map] => { alert[`${key}: ${value}`]; // cucumber: 500 etc }];
3, ini digunakan dengan standar di// menjalankan fungsi untuk setiap pasangan [kunci, nilai] recipeMap.forEach[ [value, key, map] => { alert[`${key}: ${value}`]; // cucumber: 500 etc }];
4.// menjalankan fungsi untuk setiap pasangan [kunci, nilai] recipeMap.forEach[ [value, key, map] => { alert[`${key}: ${value}`]; // cucumber: 500 etc }];
Misalnya:
let recipeMap = new Map[[
['cucumber', 500],
['tomatoes', 350],
['onion', 50]
]];
// iterasi atas kunci [vegetables]
for [let vegetable of recipeMap.keys[]] {
alert[vegetable]; // cucumber, tomatoes, onion
}
// iterasi atas nilai [amounts]
for [let amount of recipeMap.values[]] {
alert[amount]; // 500, 350, 50
}
// iterasi atas entri-entri [key, value]
for [let entry of recipeMap] { // the same as of recipeMap.entries[]
alert[entry]; // cucumber,500 [and so on]
}
Urutan insersi digunakan
Iterasi berjalan dalam urutan yang sama dengan nilai yang dimasukkan.
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3 mempertahankan urutan ini, tidak seperti let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
5 biasa.Selain itu,
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3 memilike method // menjalankan fungsi untuk setiap pasangan [kunci, nilai]
recipeMap.forEach[ [value, key, map] => {
alert[`${key}: ${value}`]; // cucumber: 500 etc
}];
8, mirip dengan // menjalankan fungsi untuk setiap pasangan [kunci, nilai]
recipeMap.forEach[ [value, key, map] => {
alert[`${key}: ${value}`]; // cucumber: 500 etc
}];
9:// menjalankan fungsi untuk setiap pasangan [kunci, nilai]
recipeMap.forEach[ [value, key, map] => {
alert[`${key}: ${value}`]; // cucumber: 500 etc
}];
Ketika
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3 diciptakan, kita bisa memberi array [atau iterabel lainnya] pasangan kunci/nilai untuk inisialisasi, seperti ini:// array berisi pasangan [kunci, nilai]
let map = new Map[[
['1', 'str1'],
[1, 'num1'],
[true, 'bool1']
]];
alert[ map.get['1'] ]; // str1
Jika kita memiliki objek biasa, dan kita mau menciptakan sebuah
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3 darinya, kita bisa menggunakan method built-in Object.entries[obj] yang mengembalikan array daripada pasangan-pasangan kunci/nilai untuk satu objek yang berformat persis sama.Jadi kita bisa menciptakan map dari objek seperti ini:
let obj = {
name: "John",
age: 30
};
let map = new Map[Object.entries[obj]];
alert[ map.get['name'] ]; // John
Disini,
// array berisi pasangan [kunci, nilai]
let map = new Map[[
['1', 'str1'],
[1, 'num1'],
[true, 'bool1']
]];
alert[ map.get['1'] ]; // str1
2 mengembalikan array daripada pasangan-pasangan kunci/nilai: // array berisi pasangan [kunci, nilai]
let map = new Map[[
['1', 'str1'],
[1, 'num1'],
[true, 'bool1']
]];
alert[ map.get['1'] ]; // str1
3. Itu yang let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3 perlukan.Kita baru saja menyaksikan cara menciptakan
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3 dari objek biasa dengan // array berisi pasangan [kunci, nilai]
let map = new Map[[
['1', 'str1'],
[1, 'num1'],
[true, 'bool1']
]];
alert[ map.get['1'] ]; // str1
6.Ada juga method
// array berisi pasangan [kunci, nilai]
let map = new Map[[
['1', 'str1'],
[1, 'num1'],
[true, 'bool1']
]];
alert[ map.get['1'] ]; // str1
7 yang melakukan kebalikkannya: jika diberi array berisi pasangan // array berisi pasangan [kunci, nilai]
let map = new Map[[
['1', 'str1'],
[1, 'num1'],
[true, 'bool1']
]];
alert[ map.get['1'] ]; // str1
8, ia menciptakan objek darinya:let prices = Object.fromEntries[[
['banana', 1],
['orange', 2],
['meat', 4]
]];
// now prices = { banana: 1, orange: 2, meat: 4 }
alert[prices.orange]; // 2
Kita bisa menggunakan
// array berisi pasangan [kunci, nilai]
let map = new Map[[
['1', 'str1'],
[1, 'num1'],
[true, 'bool1']
]];
alert[ map.get['1'] ]; // str1
7 untuk mendapatkan objek polos dari let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3.Contoh: Kita menyimpan data di dalam
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3, tapi kita perlu mengirimnya ke kode pihak ketiga yang mengharapkan objek biasa.Kita mulai:
let map = new Map[];
map.set['banana', 1];
map.set['orange', 2];
map.set['meat', 4];
let obj = Object.fromEntries[map.entries[]]; // ciptakan objek biasa [*]
// selesai!
// obj = { banana: 1, orange: 2, meat: 4 }
alert[obj.orange]; // 2
Pemanggilan
// menjalankan fungsi untuk setiap pasangan [kunci, nilai]
recipeMap.forEach[ [value, key, map] => {
alert[`${key}: ${value}`]; // cucumber: 500 etc
}];
2 mengembalikan sebuah iterable dari pasangan key/value, persis didalam format dari // array berisi pasangan [kunci, nilai]
let map = new Map[[
['1', 'str1'],
[1, 'num1'],
[true, 'bool1']
]];
alert[ map.get['1'] ]; // str1
7.Kita juga bisa membuat barisan
let obj = {
name: "John",
age: 30
};
let map = new Map[Object.entries[obj]];
alert[ map.get['name'] ]; // John
4 lebih pendek:let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
0Itu sama, karena
// array berisi pasangan [kunci, nilai]
let map = new Map[[
['1', 'str1'],
[1, 'num1'],
[true, 'bool1']
]];
alert[ map.get['1'] ]; // str1
7 mengharapkan objek iterabel sebagai argumen. Tidak harus sesuatu array. Dan iterasi standar untuk map.set['1', 'str1']
.set[1, 'num1']
.set[true, 'bool1'];
3 mengembalikan pasangan kunci/nilai yang sama dengan // menjalankan fungsi untuk setiap pasangan [kunci, nilai]
recipeMap.forEach[ [value, key, map] => {
alert[`${key}: ${value}`]; // cucumber: 500 etc
}];
2. Jadi kita mendapatkan objek biasa dengan kunci/nilai yang sama dengan map.set['1', 'str1']
.set[1, 'num1']
.set[true, 'bool1'];
3.let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
4 adalah tipe koleksi spesial – “set nilai-nilai” [tanpa kunci], dimana setiap nilai hanya dapat terjadi sekali.Method utamanya adalah:
0 – menciptakan set, dan jika objeklet prices = Object.fromEntries[[ ['banana', 1], ['orange', 2], ['meat', 4] ]]; // now prices = { banana: 1, orange: 2, meat: 4 } alert[prices.orange]; // 2
1 disediakan [biasanya array], menyalin nilai darinya ke set.let prices = Object.fromEntries[[ ['banana', 1], ['orange', 2], ['meat', 4] ]]; // now prices = { banana: 1, orange: 2, meat: 4 } alert[prices.orange]; // 2
2 – menambahkan nilai, mengembalikan set itu sendiri.let prices = Object.fromEntries[[ ['banana', 1], ['orange', 2], ['meat', 4] ]]; // now prices = { banana: 1, orange: 2, meat: 4 } alert[prices.orange]; // 2
3 – menghapus nilai, mengembalikanlet prices = Object.fromEntries[[ ['banana', 1], ['orange', 2], ['meat', 4] ]]; // now prices = { banana: 1, orange: 2, meat: 4 } alert[prices.orange]; // 2
3 jikalet john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
5 ada pada saat panggilan berlangsung, jika tidaklet prices = Object.fromEntries[[ ['banana', 1], ['orange', 2], ['meat', 4] ]]; // now prices = { banana: 1, orange: 2, meat: 4 } alert[prices.orange]; // 2
5.let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
7 – mengembalikanlet prices = Object.fromEntries[[ ['banana', 1], ['orange', 2], ['meat', 4] ]]; // now prices = { banana: 1, orange: 2, meat: 4 } alert[prices.orange]; // 2
3 jika nilai ada di set, jika tidaklet john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
5.let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
0 – menghapus semuanya dari set.let map = new Map[]; map.set['banana', 1]; map.set['orange', 2]; map.set['meat', 4]; let obj = Object.fromEntries[map.entries[]]; // ciptakan objek biasa [*] // selesai! // obj = { banana: 1, orange: 2, meat: 4 } alert[obj.orange]; // 2
1 – adalah hitungan elemen.let map = new Map[]; map.set['banana', 1]; map.set['orange', 2]; map.set['meat', 4]; let obj = Object.fromEntries[map.entries[]]; // ciptakan objek biasa [*] // selesai! // obj = { banana: 1, orange: 2, meat: 4 } alert[obj.orange]; // 2
Fitur utamanya adalah panggilan berulang
let prices = Object.fromEntries[[
['banana', 1],
['orange', 2],
['meat', 4]
]];
// now prices = { banana: 1, orange: 2, meat: 4 }
alert[prices.orange]; // 2
2 dengan nilai yang sama tidak melakukan apa-apa. Itulah alasan mengapa setiap nilai hanya muncul dalam let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
4 sekali.Misalnya, ada pengunjung yang datang, dan kami ingin mengingat semua orang. Tetapi kunjungan berulang tidak harus menyebabkan duplikasi. Pengunjung harus “dihitung” hanya sekali.
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
4 adalah hal yang tepat untuk itu:let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
1Alternatif untuk
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
4 dapat berupa array pengguna, dan kode untuk memeriksa duplikat pada setiap insersi menggunakan arr.find. Tetapi kinerjanya akan jauh lebih buruk, karena metode ini menjalani seluruh array memeriksa setiap elemen. let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
4 jauh lebih baik dioptimalkan secara internal untuk pemeriksaan keunikan.Kita bisa meng-loop atas set dengan
// menjalankan fungsi untuk setiap pasangan [kunci, nilai]
recipeMap.forEach[ [value, key, map] => {
alert[`${key}: ${value}`]; // cucumber: 500 etc
}];
4 atau menggunakan // menjalankan fungsi untuk setiap pasangan [kunci, nilai]
recipeMap.forEach[ [value, key, map] => {
alert[`${key}: ${value}`]; // cucumber: 500 etc
}];
8:let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
2Ingat keanehannya. Fungsi callback yang dilewatkan dalam
// menjalankan fungsi untuk setiap pasangan [kunci, nilai]
recipeMap.forEach[ [value, key, map] => {
alert[`${key}: ${value}`]; // cucumber: 500 etc
}];
8 memiliki 3 argumen: satu let prices = Object.fromEntries[[
['banana', 1],
['orange', 2],
['meat', 4]
]];
// now prices = { banana: 1, orange: 2, meat: 4 }
alert[prices.orange]; // 2
5, kemudian nilai yang sama let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
01, dan kemudian objek target. Memang, nilai yang sama muncul dalam argumen dua kali.Itu untuk kompatibilitas dengan
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3 di mana callback yang dilewati // menjalankan fungsi untuk setiap pasangan [kunci, nilai]
recipeMap.forEach[ [value, key, map] => {
alert[`${key}: ${value}`]; // cucumber: 500 etc
}];
8 memiliki tiga argumen. Terlihat agak aneh, memang. Tetapi dapat membantu mengganti let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3 denganlet john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
4 dalam kasus-kasus tertentu dengan mudah, dan sebaliknya.Metode yang sama yang dimiliki
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3 untuk iterator juga didukung:
07 – mengembalikan objek iterable untuk nilai,let john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
08 – sama denganlet john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
07, untuk kompatibilitas denganlet john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
3,let john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
11 – mengembalikan objek iterable untuk entrilet john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
12, ada untuk kompatibilitas denganlet john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
3.let john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3 – adalah kumpulan nilai-nilai berkunci.Metode dan properti:
15 – membuat map, denganlet john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
1 opsional [mis. array] dari pasanganlet prices = Object.fromEntries[[ ['banana', 1], ['orange', 2], ['meat', 4] ]]; // now prices = { banana: 1, orange: 2, meat: 4 } alert[prices.orange]; // 2
3 untuk inisialisasi.// menjalankan fungsi untuk setiap pasangan [kunci, nilai] recipeMap.forEach[ [value, key, map] => { alert[`${key}: ${value}`]; // cucumber: 500 etc }];
8 – menyimpan nilai dengan kunci.let john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
9 – mengembalikan nilai dengan kunci,let john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
0 jikalet john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
1 tidak ada di map.let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
2 – mengembalikanlet john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
3 jikalet john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
1 ada,let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
5 sebaliknya.let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
6 – menghapus nilai dengan kunci.let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
7 – menghapus semuanya dari peta.let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
8 – mengembalikan jumlah elemen saat ini.let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
Perbedaan dari
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
5 biasa:- Kunci apa saja, objek bisa dijadikan kunci.
- Metode-metode tambahan untuk kenyamanan, properti
30.let john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
4 – adalah kumpulan nilai-nilai unik.Metode dan properti:
32 – membuat set, dengan nilai opsionallet john = { name: "John" }; // Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka let visitsCountMap = new Map[]; // john adalah kunci bagi mapnya visitsCountMap.set[john, 123]; alert[ visitsCountMap.get[john] ]; // 123
1 [mis. array] untuk inisialisasi.let prices = Object.fromEntries[[ ['banana', 1], ['orange', 2], ['meat', 4] ]]; // now prices = { banana: 1, orange: 2, meat: 4 } alert[prices.orange]; // 2
2 – menambahkan nilai [tidak melakukan apa-apa jikalet prices = Object.fromEntries[[ ['banana', 1], ['orange', 2], ['meat', 4] ]]; // now prices = { banana: 1, orange: 2, meat: 4 } alert[prices.orange]; // 2
5 ada], mengembalikan set itu sendiri.let prices = Object.fromEntries[[ ['banana', 1], ['orange', 2], ['meat', 4] ]]; // now prices = { banana: 1, orange: 2, meat: 4 } alert[prices.orange]; // 2
3 – menghapus nilai, mengembalikanlet prices = Object.fromEntries[[ ['banana', 1], ['orange', 2], ['meat', 4] ]]; // now prices = { banana: 1, orange: 2, meat: 4 } alert[prices.orange]; // 2
3 jikalet john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
5 ada pada saat panggilan berlangsung, jika tidaklet prices = Object.fromEntries[[ ['banana', 1], ['orange', 2], ['meat', 4] ]]; // now prices = { banana: 1, orange: 2, meat: 4 } alert[prices.orange]; // 2
5.let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
7 – mengembalikanlet prices = Object.fromEntries[[ ['banana', 1], ['orange', 2], ['meat', 4] ]]; // now prices = { banana: 1, orange: 2, meat: 4 } alert[prices.orange]; // 2
3 jika nilai ada di set, jika tidaklet john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
5.let john = { name: "John" }; let ben = { name: "Ben" }; let visitsCountObj = {}; // cobalah memakai objek visitsCountObj[ben] = 234; // cobalah memakai ben sebagai kunci visitsCountObj[john] = 123; // cobalah memakai john sebagai kunci // Inilah yang tertulis! alert[ visitsCountObj["[object Object]"] ]; // 123
0 – menghapus semuanya dari set.let map = new Map[]; map.set['banana', 1]; map.set['orange', 2]; map.set['meat', 4]; let obj = Object.fromEntries[map.entries[]]; // ciptakan objek biasa [*] // selesai! // obj = { banana: 1, orange: 2, meat: 4 } alert[obj.orange]; // 2
1 – adalah hitungan elemen.let map = new Map[]; map.set['banana', 1]; map.set['orange', 2]; map.set['meat', 4]; let obj = Object.fromEntries[map.entries[]]; // ciptakan objek biasa [*] // selesai! // obj = { banana: 1, orange: 2, meat: 4 } alert[obj.orange]; // 2
Iterasi atas
let john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
3 danlet john = { name: "John" };
// Untuk setiap pengguna, mari kita simpan jumlah kunjungan mereka
let visitsCountMap = new Map[];
// john adalah kunci bagi mapnya
visitsCountMap.set[john, 123];
alert[ visitsCountMap.get[john] ]; // 123
4 selalu dalam urutan insersi, jadi kami tidak dapat mengatakan bahwa koleksi ini tidak berurut, tetapi kami tidak dapat menyusun ulang elemen atau secara langsung mendapatkan elemen dengan nomornya.