es6语法数组转换?

const customer = [

  {id: 1, count: 2},

  {id: 2, count: 89},

  {id: 3, count: 1}

];

转换成:


const customer = [

  {type:'id',value:[1,2,3]},

  {type:'count',value:[2,89,1]},

];


//customer是动态数据,id和count并不是固定的


解决方案可参考sxlwar回答内他的评论。


人到中年有点甜
浏览 342回答 1
1回答

呼啦一阵风

const middle = customer.reduce((acc, cur) => {        Object.keys(cur).forEach(key => {            if(acc[key]){                acc[key].push(cur[key]);            }else {                acc[key] = [cur[key]];            }        });        return acc;    },{});const r = Object.keys(middle).map(key => ({type: key, value: middle[key]}));    // orconst result = Object.keys(middle).reduce((acc,cur) => {    acc.push({type: cur, value: middle[cur]});    return acc;}, []);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript