jquery怎么将对象数组转换成map集合

JavaScript028

jquery怎么将对象数组转换成map集合,第1张

如果想将对象数组转换成map集合,需要用到es6的语法。

比如对象数组为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)