当前位置:网站首页>What else do you not know about new map()
What else do you not know about new map()
2022-07-05 17:00:00 【Fx_ cap】
1、Map Characteristics
- Map Object to save key value pairs , And remember the original insertion order of the keys , Any value can be a key or a value
- Map Objects will be iterated according to the insertion order of elements in the object
- Map Object use for ... of After each iteration, the loop returns a value of the form
[key, value]Array of - Map The comparison of object keys is based on Zero equal The algorithm of , At present ECMAScript Specification ,
-0and+0Considered equal , Use Object.is(-0,+0) return false - Map Object setting properties , The following code works correctly , But not recommended , Because this way of setting attributes will not change Map Data structure of , Cannot be queried
const map = new Map(); map['bla'] = 'blaa'; console.log(map); // {bla: 'blaa', size: 0} console.log(map.has('bla')); //false console.log(map.get('bla')); //undefined console.log(map.delete('bla')); //false - NaN It can also be used as
MapObject's keyconst map = new Map(); map.set(NaN, 'not a number'); console.log(map); //{NaN => 'not a number'} - Store data correctly to Map The way in is to use
set(key, value)Methodconst map = new Map(); map.set('bla', 'blaa'); console.log(map); //{'bla' => 'blaa'} console.log(map.has('bla')); //true console.log(map.get('bla')); //blaa console.log(map.delete('bla')); //true
2、Map Instance properties for
size: return Map Number of key value pairs in the object
const map = new Map();
map.set('bla', 'blaa');
console.log(map.size); //13、Map Instance method of :
- set ( key, value ) : stay
MapThe key set and specified in the objectkeyThe value of the Associationvalue, And back toMapobject - has( key ) : Returns a Boolean value , Used to indicate
MapWhether there is a connection withkeyThe value of the Association - get ( key ) : Return and
keyThe value of the Association , If there is no associated value , Then return toundefined - delete(key) : remove
MapSpecifies the key value in the object pair , If the key value pair exists and is successfully removed , returntrue, Otherwise return tofalse. calldeleteThen callMap.prototype.has(key)Will returnfalse clear():removeMapAll key value pairs in the object
const map = new Map();
map.set('name', 'Andy'); // {'name' => 'Andy'}
map.set('age', 18); // {'name' => 'Andy'}
map.has('name'); //true
map.get('name'); //Andy
map.delete('name'); //true
map.set('name', 'Andy'); // {'name' => 'Andy'}
map.clear();4、 Iterative method
- keys( ) : Returns a new iteration object , It includes
MapAll of the objects key , And insertMapThe order of objects - values( ) : Returns a new iteration object , It includes
MapAll of the objects value , And insertMapThe order of objects - entries( ) : Returns a new iteration object , It is a containing
MapOf all key value pairs in the object[key, value]Array , And insertMapThe order of objects - forEach( callback ) :
const map = new Map();
map.set('name', 'Andy'); // {'name' => 'Andy'}
map.set('age', 18); // {'name' => 'Andy'}
map.keys(); // {'name', 'age'}
map.values(); // {'Andy', 18}
map.entries(); // {'name' => 'Andy', 'age' => 18}
map.forEach((item) => {
console.log(item); //Andy 18
});5、 Use for ... of iteration
const map = new Map();
map.set('name', 'Andy');
map.set('age', 14);
for (const [key, value] of map) {
console.log(`key: ${key},value: ${value}`);
// key: name,value: Andy
// key: age,value: 14
}
for (const [key, value] of map.entries()) {
console.log(`key: ${key},value: ${value}`);
// key: name,value: Andy
// key: age,value: 14
}
for (const key of map.keys()) {
console.log(`key: ${key}`);
// key: name
// key: age
}
for (const value of map.values()) {
console.log(`value: ${value}`);
// value: Andy
// value: 14
}6、Map Relationships to arrays
- Use regular Map Constructor can convert a two-dimensional array of key value pairs into a Map object
const arr = [['name', 'Andy'], ['age', 14]]; const map = new Map(arr); console.log(map); // {'name' => 'Andy', 'age' => 14} - Use Array.from Or the expansion operator can put a Map Object into a two-dimensional array
const map = new Map(); map.set('name', 'Andy'); map.set('age', 14); console.log([...map]);//[['name','Andy'],['age',14]]
7、 Copy or merge Map
- Copy
const map1 = new Map([['name', 'zs']]); const map2 = new Map(map1); console.log(map2 === map1);//false Shallow comparison Not a reference to the same object const map1 = new Map([ ['name', 'zs'], ['hobby', { sing: 'xxxx' }], ]); const map2 = new Map(map1); for (const [key, value] of map1) { if (key === 'hobby') { value.sing = 'sub'; } } console.log(map1, map2);// hobby Reference the same address - Map Merge between objects , But it will keep the uniqueness of the key , The same key , The latter will overwrite the previous value
const map1 = new Map([ ['name', 'zs'], ['age', 18], ]); const map2 = new Map([ ['name', 'ls'], ['age', 20], ]); const map3 = new Map([...map1, ...map2]); console.log(map3); // {'name' => 'ls', 'age' => 20} - Map Object and array merge , But it will keep the uniqueness of the key , The same key , The latter will overwrite the previous value
const map1 = new Map([ ['name', 'zs'], ['age', 18], ]); const arr = ['name', 'ls']; const newMap = new Map([...map1, arr]); //{'name' => 'ls', 'age' => 18}
边栏推荐
- Explain in detail the functions and underlying implementation logic of the groups sets statement in SQL
- [729. My Schedule i]
- Jarvis OJ Flag
- Benji Banas membership pass holders' second quarter reward activities update list
- Deeply cultivate 5g, and smart core continues to promote 5g applications
- The two ways of domestic chip industry chain go hand in hand. ASML really panicked and increased cooperation on a large scale
- PHP talent recruitment system development source code recruitment website source code secondary development
- 精准防疫有“利器”| 芯讯通助力数字哨兵护航复市
- 浏览器渲染原理以及重排与重绘
- 【 brosser le titre 】 chemise culturelle de l'usine d'oies
猜你喜欢

Spring Festival Limited "forget trouble in the year of the ox" gift bag waiting for you to pick it up~

If you can't afford a real cat, you can use code to suck cats -unity particles to draw cats
![[brush questions] effective Sudoku](/img/5b/3064170bebd1ccbee68d6a85d23830.png)
[brush questions] effective Sudoku

Benji Bananas 会员通行证持有人第二季奖励活动更新一览

Browser rendering principle and rearrangement and redrawing

深耕5G,芯讯通持续推动5G应用百花齐放

深潜Kotlin协程(二十一):Flow 生命周期函数

Error in composer installation: no composer lock file present.

How was the middle table destroyed?

【Web攻防】WAF检测技术图谱
随机推荐
American chips are no longer proud, and Chinese chips have successfully won the first place in emerging fields
Games101 notes (I)
Solve cmakelist find_ Package cannot find Qt5, ECM cannot be found
Jarvis OJ 简单网管协议
How to set the WiFi password of the router on the computer
Can you help me see what the problem is? [ERROR] Could not execute SQL stateme
Jarvis OJ shell traffic analysis
Error in composer installation: no composer lock file present.
How to install MySQL
Clear restore the scene 31 years ago, volcanic engine ultra clear repair beyond classic concert
Cs231n notes (bottom) - applicable to 0 Foundation
Learnopongl notes (I)
[729. My schedule I]
The two ways of domestic chip industry chain go hand in hand. ASML really panicked and increased cooperation on a large scale
Browser rendering principle and rearrangement and redrawing
浏览器渲染原理以及重排与重绘
[js] 技巧 简化if 判空
Twig数组合并的写法
Iphone14 with pill screen may trigger a rush for Chinese consumers
[echart] resize lodash to realize chart adaptation when window is zoomed