67
loading...
This website collects cookies to deliver better user experience
Flexible with keys, because they can be any type unlike Object (keys have to be strings and symbols)
Supports millions of items, 50% more than Object. A map can store 16.7 million key-value pairs where an Object can store 11.1.
getting easily and fastly the size of the map.
There are no default keys. Unlike objects that have default keys like valueOf
const newMap = new Map();
const data = new Map([
['key', 'value'],
[{ username: 'AyaBouchiha', job: 'full-stack developer' }, 'Aya Bouchia'],
[true, 'isDeveloper'],
[
function sayHello() {
return 'hello';
},
'Hello World',
],
]);
console.log(newMap);
console.log(data);
Map {}
Map {
'key' => 'value',
{ username: 'AyaBouchiha', job: 'full-stack developer' } => 'Aya Bouchia',
true => 'isDeveloper',
[Function: sayHello] => 'Hello World'
}
const newMap = new Map();
const data = new Map([
['key', 'value'],
[{ username: 'AyaBouchiha', job: 'full-stack developer' }, 'Aya Bouchia'],
[true, 'isDeveloper'],
[
function sayHello() {
return 'hello';
},
'Hello World',
],
]);
console.log(newMap.size); // 0
console.log(data.size); // 4
const products = new Map([
['phone', 500],
['laptop', 1000],
['mouse', 22],
]);
console.log(products['phone']); //! undefined
console.log(products.get('phone')); // 500
console.log(products.get('something-else')); // undefined
const users = new Map();
console.log(users); // Map { }
users.set('key', 'value');
users.set('aya', 'bouchiha');
console.log(users); // Map { 'key' => 'value', 'aya' => 'bouchiha' }
users.set('key', 'something'); // update the element that its key is 'key'
users['key'] = 'will not work!';
console.log(users.get('key')); // something
console.log(users.size); // 2
const products = new Map([
['phone', 500],
['laptop', 1000],
['mouse', 22],
]);
console.log(products.get('phone')); // 500
console.log(products.delete('phone')); // true
console.log(products.get('phone')); // undefined
console.log(products.delete()); // false
console.log(products.delete('nothing!')); // false (because key is not found)
const data = new Map([
['key', 'value'],
[{ username: 'AyaBouchiha', job: 'full-stack developer' }, 'Aya Bouchia'],
[true, 'isDeveloper'],
[
function sayHello() {
return 'hello';
},
'Hello World',
],
]);
console.log(data.size); // 4
data.clear();
console.log(data.size); // 0
const products = new Map([
['phone', 500],
['laptop', 1000],
['mouse', 22],
]);
console.log(products.has('laptop')); // true
console.log(products.has()); // false
products.set(undefined, 0);
console.log(products.has()); // true
console.log(products.has('nothing!')); // false
const products = new Map([
['phone', 500],
['laptop', 1000],
['mouse', 22],
]);
products.forEach((element) => console.log(element));
products.forEach((productPrice, productName) =>
console.log(`you have to buy ${productPrice}$ to get a new ${productName}`),
);
500
1000
22
'you have to buy 500$ to get a new phone'
'you have to buy 1000$ to get a new laptop'
'you have to buy 22$ to get a new mouse'
const products = new Map([
['phone', 500],
['laptop', 1000],
['mouse', 22],
]);
const productsKeys = products.keys();
console.log(productsKeys.next()); // { value: 'phone', done: false }
console.log(productsKeys.next().value); // laptop
console.log(productsKeys.next().value); // mouse
console.log(productsKeys.next()); // { value: undefined, done: true }
const products = new Map([
['phone', 500],
['laptop', 1000],
['mouse', 22],
]);
const productsValues = products.values();
console.log(productsValues.next()); // { value: 500, done: false }
console.log(productsValues.next().value); // 1000
console.log(productsValues.next().value); // 22
console.log(productsValues.next()); // { value: undefined, done: true }
const products = new Map([
['phone', 500],
['laptop', 1000],
['mouse', 22],
]);
const productsIterator = products.entries();
console.log(productsIterator.next()); // { value: [ 'phone', 500 ], done: false }
console.log(productsIterator.next().value); // [ 'laptop', 1000 ]
console.log(productsIterator.next().value[0]); // mouse
console.log(productsIterator.next()); // { value: undefined, done: true }