3

好吧,我正在尝试在 jquery 中为我的数组分配值,如果我在没有 for 循环的情况下执行它,就像我为第 0 个元素所做的那样,它工作正常,但是如果我把它放在循环中,它就无法正常工作

var array1=<?php echo json_encode($array2)?>;
var array2=<?php echo json_encode($array1)?>;
var chartData = [
    {
    student:  array1[0] ,
    marks: array2[0]
        }
];
var x=<?php echo json_encode($tquiz) ?>;
for (var i=1;i <= x ;i++ )
{
    chartData[i]=[
                    {
                     student :array1[i],                        
                     marks:array2[i]
                    }
                 ]    
}
4

2 回答 2

1
for (var i=1;i <= x ;i++ )
{
    chartData[i]=[
                {student :array1[i],

                marks:array2[i]
              }
             ]

}

改成

for (var i=1;i <= x ;i++ )
{
    chartData.push({student :array1[i], marks:array2[i]});
}

顺便说一句,我可以像这样重构您的最终代码:

var array1=<?php echo json_encode($array2)?>;
var array2=<?php echo json_encode($array1)?>;
var x=<?php echo json_encode($tquiz) ?>;

var chartData = [];
for (var i=0;i <= x ;i++ ) {
    chartData.push({student :array1[i], marks:array2[i]});
}
于 2013-07-18T06:33:18.017 回答
0

使用 foreach 循环而不是 for 循环,这也是你的 for 循环中的问题:

它应该是:

for (var i=1;i <= x.length ;i++ )

我建议您使用 foreach 循环:

$.each( x, function( key, value ) {
于 2013-07-18T06:32:37.553 回答