0

我动态生成数组 GeneratedReport 作为,

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

从上面的数组中,我需要创建 1 个新数组 FinalReport,其中我需要上面数组中的 3 个值,例如 Generated[0] 应该给出 3 个值,如果没有,那么 2 个缺失值应该替换为 Null 或零。

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
}

    }
4

2 回答 2

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

于 2013-10-26T21:53:42.367 回答
0

您可以使用它,将 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 );
}
于 2013-10-27T03:33:07.247 回答