2013-10-26 13 views
0

我動態生成陣列GeneratedReport如,複製陣列到另一個和替換缺失字段具有空

Generated[0]=[10]; 
Generated[1]=[1,5]; 
Generated[2]=[10,6,7]; 

從上述陣列我需要創建1新陣列FinalReport其中i需要從上述上述陣列例如生成3值如果不是,那麼[0]應該給出3個值,應該用空值或零置換2個缺失值。

FinalReport應該是這樣的,

finalReport=[10,0,0,1,5,0,10,6,7] 

我嘗試下面的代碼,很多事情,但沒有工作。請建議,

我知道下面的代碼是不正確的,但只需要告訴你所有的努力

//iterating temp array 
for(var i=0;i<GenerateReportSep.length;i++) 
{ 

    var genLen=GenerateReportSep[i].length; 
    //loop throgh each array 
    for(var k=0;k<GenerateReportSep[i].length;k++) 
    { 


    //check lenth with 3 or what ever no. required in pdf 
    if(genLen<3) 
    { 

     GenerateReport[seq]="NULL"; 
     genLen++; 

     } 
     else 
     { 
      //store value in 
     GenerateReport[seq]=GenerateReportSep[i][k];   
      } 

    }//end of check each generatedsep[i] array 
} 

    } 
+0

爲什麼[tag:java]標記?你的問題與Java編程有什麼關係? –

回答

1

這裏有一個解決方案:

var finalReport = []; 

for (i = 0; i < Generated.length; i++) { 
    var currArr = Generated[i]; 
    var numZeros = 3 - currArr.length; 
    for (j = 0; j < currArr.length; j++) { 
     finalReport.push(currArr[j]) 
    } 

    while (numZeros) { 
     finalReport.push(0); 
     numZeros--; 
    } 

} 

DEMO

+0

謝謝!我做了這樣的事情,它的工作,Gr8的幫助 – anam

0

你可以使用th是,用您的默認值替換0:

var n, e, finalReport = [], tmp; 
for (n = 0, e = GenerateReportSep.length; n < e; n++) 
{ 
    tmp = GenerateReportSep[n]; 
    finalReport.push(tmp[0] || 0); 
    finalReport.push(tmp[1] || 0); 
    finalReport.push(tmp[2] || 0); 
} 
相關問題