13 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
想法:
objectA.A,objectA.B,objectA.C,objectA.D,objectA.E這是五個(gè)數(shù)組,
再五個(gè)for循環(huán)嵌套輸出每個(gè)數(shù)組的name,輸出的數(shù)組就是result了

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
function init(initData){
initData = initData || {};//需要拼接出不重復(fù)的數(shù)組
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;//返回最終數(shù)據(jù)
}
添加回答
舉報(bào)