我在javascript中有一个数组,我想将其转换为对象,这是我的下面代码

时间:2017-11-08 04:26:42

标签: javascript arrays object

这是我的数组输出:

[ 33, [ 1, 2 ] ]

我想将其转换为:

[{contactId:33,groupId:1},{contactId:33,groupId:2}]

有可能吗?在underscore.js中使用foreach循环或map函数?如果可能怎么办?帮助我!

2 个答案:

答案 0 :(得分:4)

假设您的数组array.reduce((prev, contactId, i, arr) => ( Array.isArray(contactID) // check if it's a contact ID, or group IDs ? prev // skip the group IDs : prev.concat(arr[i + 1].map(groupId => ({ contactId, groupId })); ), []); 始终采用“偶数项目的格式,其中每个偶数索引项目是联系人ID,并且每个奇数索引项目是组ID的数组”,应该工作:

patchValues

答案 1 :(得分:0)

var temp=[];
var firstElement="";
a=[ 33, [ 1, 2 ] ];
a.map(function(d,i){
  if(i==0){
    firstElement=d;
  }else{
    d.map(function(d1){
     var tempObj={};
     tempObj["contactId"]=firstElement;
     tempObj["groupId"]=d1;
     temp.push(tempObj);
   });
   }
});
 console.log(temp);