当前位置:网站首页>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 ,
-0
and+0
Considered 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
Map
Object'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); //1
3、Map Instance method of :
- set ( key, value ) : stay
Map
The key set and specified in the objectkey
The value of the Associationvalue
, And back toMap
object - has( key ) : Returns a Boolean value , Used to indicate
Map
Whether there is a connection withkey
The value of the Association - get ( key ) : Return and
key
The value of the Association , If there is no associated value , Then return toundefined
- delete(key) : remove
Map
Specifies the key value in the object pair , If the key value pair exists and is successfully removed , returntrue
, Otherwise return tofalse
. calldelete
Then callMap.prototype.has(key)
Will returnfalse
clear():
removeMap
All 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
Map
All of the objects key , And insertMap
The order of objects - values( ) : Returns a new iteration object , It includes
Map
All of the objects value , And insertMap
The order of objects - entries( ) : Returns a new iteration object , It is a containing
Map
Of all key value pairs in the object[key, value]
Array , And insertMap
The 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}
边栏推荐
- Bs-xx-042 implementation of personnel management system based on SSM
- 网站页面禁止复制内容 JS代码
- Raspberry pie 4B installation pytorch1.11
- SQL injection of cisp-pte (Application of secondary injection)
- Detailed explanation of use scenarios and functions of polar coordinate sector diagram
- Etcd build a highly available etcd cluster
- 深潜Kotlin协程(二十一):Flow 生命周期函数
- 启牛商学院股票开户安全吗?靠谱吗?
- 如何将mysql卸载干净
- 国内首家 EMQ 加入亚马逊云科技「初创加速-全球合作伙伴网络计划」
猜你喜欢
Hiengine: comparable to the local cloud native memory database engine
Jarvis OJ Flag
Win11 prompt: what if the software cannot be downloaded safely? Win11 cannot download software safely
Jarvis OJ 简单网管协议
飞桨EasyDL实操范例:工业零件划痕自动识别
Basic introduction to the control of the row component displaying its children in the horizontal array (tutorial includes source code)
Data access - entityframework integration
Summary of methods for finding intersection of ordered linked list sets
Android privacy sandbox developer preview 3: privacy, security and personalized experience
Cs231n notes (bottom) - applicable to 0 Foundation
随机推荐
Yarn common commands
DenseNet
[brush title] goose factory shirt problem
Deep learning plus
关于new Map( )还有哪些是你不知道的
【组队 PK 赛】本周任务已开启 | 答题挑战,夯实商品详情知识
[es6] 模板字符串内添加if判断或添加三元运算符判断
Jarvis OJ 远程登录协议
干货!半监督预训练对话模型 SPACE
Copy mode DMA
拷贝方式之DMA
Enter a command with the keyboard
Jarvis OJ Flag
调查显示传统数据安全工具面对勒索软件攻击的失败率高达 60%
Etcd build a highly available etcd cluster
File operation --i/o
为季前卡牌游戏 MotoGP Ignition Champions 做好准备!
Apple has abandoned navigationview and used navigationstack and navigationsplitview to implement swiftui navigation
NPM installation
[Jianzhi offer] 63 Maximum profit of stock