(ES6以上以及TS) Map对象转数组

const map = new Map();
map.set('1', 'one');
map.set('2'. 'two');

// 获取map对象的value数组
Array.from(map).map(item => item[1]);
// ['one', 'two']

Array.from执行map对象后返回一个二维数组,数组元素是map的键值数组,长度为2

Array.from(map); // [['1', 'one'], ['2', 'two']]

所以要是同样的方法用下面段可以获取map对象的key数组

Array.from(map).map(item => item[0]);  // ['1', '2']

基于map对象提供的values()函数
values()返回一个MapIterator对象,可以调用values().next()方法依次获取value值,一次只能获取一次, 这种方式可以直接获取map对象的value数组

Array.from(map.values()) 
// ['one', 'two']

map对象还提供了keys()方法
同样的下面这段代码可以获取map对象的key数组

Array.from(map.keys())
// ['1', '2'] 

另外,map对象也支持在数组中使用扩展运算符

更直观简洁的表达方式

[...map.values()]  // ['one', 'two']
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值