ES6 Map Class Tutorials in Javascript Examples Typescript
- Admin
- Dec 31, 2023
- Es6 Typescript
Es6 Map Class
The map
is one of the new classes introduced in the Es6 version. Other Classes are Set , WeakSet and WeakMap
It is a data structure with pair of keys
and values
. Keys
can be any arbitrary value and values
can be an object or primitive type.
Keys
can be a Primitive types like Strings
, Numbers
, Symbols
, Functions
, Objects
, and Dates
.
We can implement a hashmap using the map in javascript and Typescript. It is ordered for insertion based.
Typescript has no built-in classes supported for Map, But Typescript supports the same data structure that ES6 supports.
Es6 classes can be used in typescript with configuring Es6 library in typescript configuration. In the tsconfig.json file, add “lib”: [“es6”] or you can add polyfill.js for this classes. This example mentioned will work in Typescript and Javascript. Syntax
let/var map=new Map()
or
let/var map=new Map([iterablecollection])
javascript Map example Example
Here is an example for create an map and add data to map.
var map = new Map();
map.set(new Date(), function currentTime() {});
map.set(() => "key", { objectkey: "objectvalue" });
map.set(Symbol("symbol"), [6, 21]);
console.log(map);
output is
0:{Fri Aug 31 2018 11:10:15 GMT+0530 (India Standard Time) => function currentTime() {}}
1:{key:() => 'key' value:{objectkey: "objectvalue"}}
2:{key:Symbol(symbol) value:(2) [6, 21]}
Map object created with a passing object during object creation. Object should contains iterable collection which outputs -[[‘key’, ‘value’], [‘key’, ‘value’]].
var map = new Map([
["key1", "value1"],
["key2", "value2"],
]);
console.log(map); //{"key1" => "value1", "key2" => "value2"}
Adding elements to Map using the set method
Map objects can be created and added elements using Set() method
var map = new Map();
map.set("k", "v");
map.set("k1", "v1");
console.log(map); //{"k" => "v", "k1" => "v1"}
Methods
Let us create Map using the new Operator.
let map = new Map();
Method | Description | Example |
---|---|---|
Set(key,value) | Adding key and value to Map | ```javascript |
map.set(“key1”, “value”); | ||
map.set(“key2”, “value2”); | ||
console.log(map.size) // 2``` | ||
block.chainid | Data passed to component | |
duration | time in milliseconds shown before disappear from the page | |
panelClass | used to Customize the snackbar css styles | |
horizontalPosition | Horizontal position - ‘start’, ‘center’,‘end’,‘left’, ‘right’ | |
verticalPosition | Vertical position - ‘top’,‘bottom’ |
get(key)
Get the element for the given key. returns Undefined, if the key does not exist.
console.log(map.get("key1")); // value1
has(key)
return true - if the key exists in Map, else false.
console.log(map.has("key1")); // true
console.log(map.has("key45")); // false
delete(key)
Delete key and value for a given key from Map.
console.log(map); // {"key1" => "value1", "key2" => "value2"}
console.log(map.delete("key1")); // returns true if deleted
console.log(map.delete("key1231")); // returns false if key doest not exist
console.log(map); //{"key2" => "value2"}
clear()
Remove all keys and values of a Map.
console.log(map); // {"key1" => "value1", "key2" => "value2"}
map.clear(); // returns nothing
console.log(map); //{}
size
Return size of Map.
console.log(map); // {"key1" => "value1", "key2" => "value2"}
console.log(map.size); //2
keys()
Return keys with an iterable collection of Map.
for (let key of map.keys()) {
console.log(key); //key1 key2
}
values()
Return values with an iterable collection of Map.
for (let value of map.values()) {
console.log(value); //value value2
}
entries()
Return keys and values with an iterable collection of Map.
//map entries iteration
for (let entry of map.entries()) {
console.log(entry[0], entry[1]); //key1 value key2 value2
}
forEach(calback,args)
This is another way of doing iteration. Each element is applied with function execution.
map.forEach(function (value, key) {
console.log(key, value); //key1 value key2 value2
});
Map Usage Example
let map = new Map();
map.set("kiran", "35");
map.set("john", "50");
map.set("tom", "45");
//map size returns
console.log(map.size); //3
//map has
console.log(map.has("kiran")); //true
console.log(map.has("asdfasd")); //false
//map keys Iteration
for (let key of map.keys()) {
console.log(key); //kiran john tom
}
//map values iteration
for (let value of map.values()) {
console.log(value); //35 50 45
}
//map entries iteration
for (let entry of map.entries()) {
console.log(entry[0], entry[1]); //kiran 35 john 50 tom 45
}
//object destructuring
for (let [key, value] of map) {
console.log(key, value); //kiran 35 john 50 tom 45
}
//Map forEach Iteration
map.forEach(function (value, key) {
console.log(key, value); //kiran 35 john 50 tom 45
});
Map SameValueZero Example Keys in Map checked using SameValueZero algorithm. SameValueZero is like === operator check with few diferences
NaN is not equal to NAN +0 is equal to -0
const map = new Map();
map.set(NaN, "testvalue");
console.log(map.get(NaN)); // 'testvalue
map.set(-0, 54);
console.log(map.get(+0)); // 54
console.log(NaN === NaN); // false
console.log(+0 === -0); // true