3

jquery で配列に値を割り当てようとしていますが、0 番目の要素に対して行ったように for ループなしで行うと正常に動作しませんが、ループに入れると未定義になります

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

for ループの代わりに foreach ループを使用すると、for ループにも問題があります。

そのはず:

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

foreach ループを使用することをお勧めします。

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