当前位置:网站首页>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}
边栏推荐
- Get ready for the pre-season card game MotoGP ignition champions!
- 二叉树相关OJ题
- Flet tutorial 12 stack overlapping to build a basic introduction to graphic and text mixing (tutorial includes source code)
- [deep learning] [original] let yolov6-0.1.0 support the txt reading dataset mode of yolov5
- File operation --i/o
- Etcd build a highly available etcd cluster
- 精准防疫有“利器”| 芯讯通助力数字哨兵护航复市
- dried food! Semi supervised pre training dialogue model space
- [first lecture on robot coordinate system]
- Do sqlserver have any requirements for database performance when doing CDC
猜你喜欢

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

American chips are no longer proud, and Chinese chips have successfully won the first place in emerging fields

How was the middle table destroyed?

Deep dive kotlin synergy (XXI): flow life cycle function

如何安装mysql

Starkware: to build ZK "universe"

Wsl2.0 installation

数据访问 - EntityFramework集成

Iphone14 with pill screen may trigger a rush for Chinese consumers

composer安装报错:No composer.lock file present.
随机推荐
How does the outer disk futures platform distinguish formal security?
[es6] 模板字符串内添加if判断或添加三元运算符判断
麻烦问下,DMS中使用Redis语法是以云数据库Redis社区版的命令为参考的嘛
【剑指 Offer】66. 构建乘积数组
启牛商学院股票开户安全吗?靠谱吗?
China Radio and television officially launched 5g services, and China Mobile quickly launched free services to retain users
中国广电正式推出5G服务,中国移动赶紧推出免费服务挽留用户
干货!半监督预训练对话模型 SPACE
Android 隐私沙盒开发者预览版 3: 隐私安全和个性化体验全都要
sqlserver 做cdc 要对数据库性能有什么要求么
SQL injection of cisp-pte (Application of secondary injection)
Yarn common commands
齐宣王典故
文件操作--I/O
C# TCP如何设置心跳数据包,才显得优雅呢?
什么是ROM
How to install MySQL
高数 | 旋转体体积计算方法汇总、二重积分计算旋转体体积
为季前卡牌游戏 MotoGP Ignition Champions 做好准备!
[61dctf]fm