Cara menggunakan javascript map vs array

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:

  • 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
    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" };
    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 jika
    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
    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 – mengembalikan
    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
    3 jika
    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
    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.

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.

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 bukan cara yang baik untuk menggunakan
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

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

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 membandingkan kunci

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:

  • // menjalankan fungsi untuk setiap pasangan (kunci, nilai)
    recipeMap.forEach( (value, key, map) => {
      alert(`${key}: ${value}`); // cucumber: 500 etc
    });
    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.

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
0

Itu 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:

  • let prices = Object.fromEntries([
      ['banana', 1],
      ['orange', 2],
      ['meat', 4]
    ]);
    
    // now prices = { banana: 1, orange: 2, meat: 4 }
    
    alert(prices.orange); // 2
    0 – menciptakan set, dan jika objek
    let 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, mengembalikan
    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
    3 jika
    let prices = Object.fromEntries([
      ['banana', 1],
      ['orange', 2],
      ['meat', 4]
    ]);
    
    // now prices = { banana: 1, orange: 2, meat: 4 }
    
    alert(prices.orange); // 2
    5 ada pada saat panggilan berlangsung, jika tidak
    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.
  • let prices = Object.fromEntries([
      ['banana', 1],
      ['orange', 2],
      ['meat', 4]
    ]);
    
    // now prices = { banana: 1, orange: 2, meat: 4 }
    
    alert(prices.orange); // 2
    7 – mengembalikan
    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
    3 jika nilai ada di set, jika tidak
    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.
  • 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
    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.

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
1

Alternatif 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
2

Ingat 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 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
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:

  • 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
    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 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
    07, 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,
  • 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 entri
    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
    12, ada 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.

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:

  • 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
    15 – membuat map, dengan
    let prices = Object.fromEntries([
      ['banana', 1],
      ['orange', 2],
      ['meat', 4]
    ]);
    
    // now prices = { banana: 1, orange: 2, meat: 4 }
    
    alert(prices.orange); // 2
    1 opsional (mis. array) dari pasangan
    // menjalankan fungsi untuk setiap pasangan (kunci, nilai)
    recipeMap.forEach( (value, key, map) => {
      alert(`${key}: ${value}`); // cucumber: 500 etc
    });
    3 untuk inisialisasi.
  • 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" };
    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 jika
    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
    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 – mengembalikan
    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
    3 jika
    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
    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.

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
    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
    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
4 – adalah kumpulan nilai-nilai unik.

Metode dan properti:

  • 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
    32 – membuat set, dengan nilai opsional
    let prices = Object.fromEntries([
      ['banana', 1],
      ['orange', 2],
      ['meat', 4]
    ]);
    
    // now prices = { banana: 1, orange: 2, meat: 4 }
    
    alert(prices.orange); // 2
    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 jika
    let 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, mengembalikan
    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
    3 jika
    let prices = Object.fromEntries([
      ['banana', 1],
      ['orange', 2],
      ['meat', 4]
    ]);
    
    // now prices = { banana: 1, orange: 2, meat: 4 }
    
    alert(prices.orange); // 2
    5 ada pada saat panggilan berlangsung, jika tidak
    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.
  • let prices = Object.fromEntries([
      ['banana', 1],
      ['orange', 2],
      ['meat', 4]
    ]);
    
    // now prices = { banana: 1, orange: 2, meat: 4 }
    
    alert(prices.orange); // 2
    7 – mengembalikan
    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
    3 jika nilai ada di set, jika tidak
    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.
  • 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
    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.

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 dan
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 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.

Apa fungsi map pada JavaScript?

map() di JavaScript: memanggil fungsi elemen array, mengubah string menjadi array, merender daftar di dalam pustaka JavaScript, dan memformat ulang objek array.

Apa itu array reduce?

reduce() merupakan method array di JavaScript yang mengeksekusi fungsi callback pada setiap elemen array, nilai hasil kalkulasi pada elemen sebelumnya digunakan untuk melakukan kalkulasi pada elemen berikutnya. Setelah menjalankan fungsi callback untuk semua elemen array, method ini menghasilkan nilai tunggal.

Apa itu Filter JavaScript?

filter() merupakan method array di JavaScript yang berfungsi untuk mencari semua elemen di dalam array yang sesuai dengan kriteria tertentu. Method ini mengembalikan array baru yang berisi elemen yang sesuai dengan kriteria yang dicari atau lulus pengujian fungsi callback.

Method apa yang dapat kita gunakan untuk memilah elemen array berdasarkan kondisi tertentu dan akan membuat sebuah array baru?

filter() Metode ini berfungsi untuk membuat sebuah array baru dengan memperhatikan kondisi tertentu pada setiap elemen dari array yang sudah ada.