Map 转化为数组

含义

Map 数据结构类似于对象,也是键值对的集合,但是键的范围不限于字符串,各种类型的值(包括对象)都可以当做键。 Map 结构提供了“值-值”的对应,是更完善的 Hash 结构实现。Map 可以作为构造函数。

新建 Map:new Map()

let map = new Map()

添加成员:Map.set()

let key = 'age', value = '10'
map.set(key,value)

读取成员:Map.get()

map.get('age')  // '18'

判断成员是否存在:Map.has()

map.has('age')  // true
map.has('name')       // false

删除成员:Map.delete()

map.delete('age')
map.has('age)  // false

清空成员:Map.clear()

map.clear()
map.size  // 0

Map 的遍历和过滤



// Map 转为 数组
const map = new Map([
    [1, 'one'],
    [2, 'two'],
    [3, 'three']
]);

[...map.keys()]
// [1,2,3]

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

[...map.entries()]
// [[1,'one'], [2, 'two'], [3, 'three']]

[...map]
// [[1,'one'], [2, 'two'], [3, 'three']]

// Map 实现遍历和过滤
const map0 = new Map()
    .set(1, 'a')
    .set(2, 'b')
    .set(3, 'c');

const map1 = new Map(
    [...map0].filter([k, v] => k < 3)
);
// 产生 Map 结构 {1 => 'a', 2 => 'b'}

const map2 = new Map(
    [...map0].map(([k, v]) => [k * 2, '_' + v])
)
// 产生 Map 结构 {2 => '_a', 4 => '_b', 6 => '_c'}

你可能感兴趣的:(JavaScript,es6,javascript,前端,开发语言)