A Map holds key-value pairs where the keys can be any datatype.
A Map remembers the original insertion order of the keys.
Method | Description |
---|---|
new Map() | Creates a new Map |
set() | Sets the value for a key in a Map |
get() | Gets the value for a key in a Map |
delete() | Removes a Map element specified by the key |
has() | Returns true if a key exists in a Map |
forEach() | Calls a function for each key/value pair in a Map |
entries() | Returns an iterator with the [key, value] pairs in a Map |
Property | Description |
size | Returns the number of elements in a Map |
You can create a JavaScript Map by:
new Map()
Map.set()
You can create a Map by passing an Array to the new Map()
constructor:
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
Try it Yourself »
You can add elements to a Map with the set()
method:
// Create a Map
const fruits = new Map();
// Set Map Values
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
Try it Yourself »
The set()
method can also be used to change existing Map values:
The get()
method gets the value of a key in a Map:
The size
property returns the number of elements in a Map:
The delete()
method removes a Map element:
The has()
method returns true if a key exists in a Map:
fruits.has("apples");
Try it Yourself »
fruits.delete("apples");
fruits.has("apples");
Try it Yourself »
Object | Map | |
---|---|---|
Iterable | Not directly iterable | Directly iterable |
Size | Do not have a size property | Have a size property |
Key Types | Keys must be Strings (or Symbols) | Keys can be any datatype |
Key Order | Keys are not well ordered | Keys are ordered by insertion |
Defaults | Have default keys | Do not have default keys |
The forEach()
method calls a function for each key/value pair in a Map:
// List all entries
let text = "";
fruits.forEach (function(value, key) {
text += key + ' = ' + value;
})
Try it Yourself »
The entries()
method returns an iterator object with the [key, values] in a Map:
// List all entries
let text = "";
for (const x of fruits.entries()) {
text += x;
}
Try it Yourself »
JavaScript Maps are supported in all browsers, except Internet Explorer:
Chrome | Edge | Firefox | Safari | Opera |
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!