13 回答

TA贡献1811条经验 获得超6个赞
想法:
objectA.A,objectA.B,objectA.C,objectA.D,objectA.E这是五个数组,
再五个for循环嵌套输出每个数组的name,输出的数组就是result了

TA贡献1906条经验 获得超3个赞
function init(initData){
initData = initData || {};//需要拼接出不重复的数组
var data = [];
var keys = [];
for (var i in initData){
keys.push(i);
};
var newkeys = keys.map(function(e,i,d){
var leng = d.length;
if(i < leng && i > 0){
return d[leng-i];
};
return e;
});
var evalObj = "";
for (var i = 0 ; i < keys.length ; i++){
evalObj += ('for(var '+newkeys[i]+' = 0 ; '+newkeys[i]+' < initData["'+newkeys[i]+'"].length ; '+newkeys[i]+'++){\n');
};
evalObj += "data.push(\n";
for (var i = 0 ; i < keys.length ; i++){
var ex = '+ ":" +';
if(i == keys.length-1){
ex = "";
}
evalObj += 'initData["'+keys[i]+'"]['+keys[i]+'].name'+ex+'\n';
}
evalObj += ")\n";
for (var i = 0 ; i < keys.length ; i++){
evalObj +="}\n";
}
eval(evalObj);
return data;//返回最终数据
}
添加回答
举报