【多属性对象“{a:1,b:2}”】与【单属性对象的数组“[{a:1},{b:2}]”】的相互转换

前端开发的某些场景(比如用echarts开发某些可视化图表)经常需要将【多属性对象,如“{a:1,b:2}”】与【单属性对象的数组,如“[{a:1},{b:2}]”】做相互转换,以下是不通过循环,简洁实现这种转换的方法:

1.【多属性对象“{a:1, b:2}”】转换成【单属性对象的数组“[{a:1}, {b:2}]”】:

//{a: 1, b: 2} 转换为 [{a: 1}, {b: 2}]
let objObject = {a: 1, b: 2};
Object.keys(objObject).map(    
    function(x){ return {[x]: objObject[x]}; } //(注意:在这里不能使用箭头表达式)
)

 结果:
【多属性对象“{a:1,b:2}”】与【单属性对象的数组“[{a:1},{b:2}]”】的相互转换_第1张图片

2.【单属性对象的数组“[{a:1}, {b:2}]”】转换成【多属性对象“{a:1, b:2}”】: 

//[{a: 1}, {b: 2}] 转换为 {a: 1, b: 2}
let arrObject = [{a: 1}, {b: 2}]; 
Object.assign({}, ...arrObject)

结果:
【多属性对象“{a:1,b:2}”】与【单属性对象的数组“[{a:1},{b:2}]”】的相互转换_第2张图片

 

你可能感兴趣的:(Javascript,数组对象转换,对象数组转换,多属性数组)