当前位置:网站首页>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}
边栏推荐
- 【729. 我的日程安排表 I】
- 国内首家 EMQ 加入亚马逊云科技「初创加速-全球合作伙伴网络计划」
- Accès aux données - intégration du cadre d'entité
- ECU简介
- 如何安装mysql
- [61dctf]fm
- Yarn common commands
- 树莓派4b安装Pytorch1.11
- [team PK competition] the task of this week has been opened | question answering challenge to consolidate the knowledge of commodity details
- The difference between searching forward index and inverted index
猜你喜欢

Summary of methods for finding intersection of ordered linked list sets

Error in composer installation: no composer lock file present.

NPM installation

Benji Banas membership pass holders' second quarter reward activities update list

How to uninstall MySQL cleanly

解决CMakeList find_package找不到Qt5,找不到ECM

精准防疫有“利器”| 芯讯通助力数字哨兵护航复市

The two ways of domestic chip industry chain go hand in hand. ASML really panicked and increased cooperation on a large scale

为季前卡牌游戏 MotoGP Ignition Champions 做好准备!

ECU introduction
随机推荐
Jarvis OJ Webshell分析
养不起真猫,就用代码吸猫 -Unity 粒子实现画猫咪
[729. My Schedule i]
【刷題篇】鹅廠文化衫問題
二叉树相关OJ题
如何安装mysql
How does the outer disk futures platform distinguish formal security?
美国芯片傲不起来了,中国芯片成功在新兴领域夺得第一名
ECU简介
Sentinel flow guard
[Jianzhi offer] 66 Build product array
Win11 prompt: what if the software cannot be downloaded safely? Win11 cannot download software safely
关于new Map( )还有哪些是你不知道的
微信公众号网页授权登录实现起来如此简单
What is ROM
Can you help me see what the problem is? [ERROR] Could not execute SQL stateme
树莓派4b安装Pytorch1.11
[61dctf]fm
Starkware: to build ZK "universe"
Raspberry pie 4B installation pytorch1.11