这是我的数组输出:
[ 33, [ 1, 2 ] ]
我想将其转换为:
[{contactId:33,groupId:1},{contactId:33,groupId:2}]
有可能吗?在underscore.js中使用foreach循环或map函数?如果可能怎么办?帮助我!
答案 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);