比如对象数组为let arr = [{a:1,b:2},{a:3,b:4}]
首先我们要获取arr中每个对象的key和value,这里我们可以结合map和Object.entries()两个方法来实现。
let result = []
arr.map(o=>{
let map = new Map()
for(let [k, v] of Object.entries(o)){
map.set(k, v)
}
result.push(map)
})
最终result就是转换后的map集合了。
Map映射是ES6里面新增的一个对象,是一组键值对的结构,具有极快的查找速度。Map是类似Object的一种键值对集合,区别在于Map的键不仅限于是字符串,其他各种类型的值包括对象都可以成为Map的键
Set也是ES6新增的对象,Set是一组key的集合,但不存储value, 而且key不重复,可自动排重
add(value):添加某个值,返回Set结构本身。
delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
has(value):返回一个布尔值,表示该值是否为Set的成员。
clear():清除所有成员,没有返回值。
原文链接: https://blog.csdn.net/hot_cool/java/article/details/83685046
let map = new Map()map.set('key1','value1')
map.set('key2','value2')
// Map 转 JSON字符串
let map_string = JSON.stringify([...map])
console.log('map ->json:',map_string)
// JSON字符串转map
let obj = JSON.parse(map_string)
let new_map = new Map()
for(let key of Object.keys(obj)){
new_map.set(key,obj[key])
}
console.log('json ->map:',new_map)