当前位置:网站首页>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}
边栏推荐
猜你喜欢
![[Jianzhi offer] 63 Maximum profit of stock](/img/b6/c1dec97a23ac13aa53d1d202b83ef5.png)
[Jianzhi offer] 63 Maximum profit of stock

干货!半监督预训练对话模型 SPACE

How does win11 change icons for applications? Win11 method of changing icons for applications

养不起真猫,就用代码吸猫 -Unity 粒子实现画猫咪

Jarvis OJ Flag

Clear restore the scene 31 years ago, volcanic engine ultra clear repair beyond classic concert

Solution of vant tabbar blocking content

拷贝方式之DMA

npm安装

Wsl2.0 installation
随机推荐
养不起真猫,就用代码吸猫 -Unity 粒子实现画猫咪
The survey shows that the failure rate of traditional data security tools in the face of blackmail software attacks is as high as 60%
Combined use of vant popup+ other components and pit avoidance Guide
外盘期货平台如何辨别正规安全?
【 brosser le titre 】 chemise culturelle de l'usine d'oies
采用药丸屏的iPhone14或引发中国消费者的热烈抢购
[js] skill simplification if empty judgment
网上办理期货开户安全吗?网上会不会骗子比较多?感觉不太靠谱?
Facing new challenges and becoming a better self -- attacking technology er
关于new Map( )还有哪些是你不知道的
Copy mode DMA
飞桨EasyDL实操范例:工业零件划痕自动识别
[61dctf]fm
The first EMQ in China joined Amazon cloud technology's "startup acceleration - global partner network program"
时间戳strtotime前一天或后一天的日期
Cs231n notes (bottom) - applicable to 0 Foundation
Benji Banas membership pass holders' second quarter reward activities update list
Fleet tutorial 09 basic introduction to navigationrail (tutorial includes source code)
Bs-xx-042 implementation of personnel management system based on SSM
NPM installation