在javascript意外结果中迭代数组

时间:2012-11-02 02:02:35

标签: php javascript

我认为我正确地接近了这一点,但似乎没有。

我有以下功能:

function oMain(){
    var allMyData = <? echo htmlspecialchars($jsData, ENT_NOQUOTES, 'utf-8')?>;
    var data = new google.visualization.DataTable();
    data.addColumn('string', 'x');
    data.addColumn('number', 'mid');
    var i=0;
    alert(allMyData.length);
    for(i=0;i<allMyData.length;i++){

    }

    alert(allMyData[i+1,0] + "," + allMyData[i+1,1]);
}

allMyData看起来像这样: [["20121031095013","1.315"],["20121031095029","1.315"],["20121031095046","1.315"],["20121031095102","1.315"],["20121031095118","1.315"],["20121031095134","1.315"],....

对我来说似乎没问题。

现在: 我的提醒显示我这样的事情: 20121031095013,1.315,20121031095029,1.315

我期待的地方: 20121031095029,1.315

有人可以帮我看看我正在制作的错误吗?

谢谢

1 个答案:

答案 0 :(得分:0)

allMyData[i+1,0]返回其他大型数组中的第一个数组。我想你的意思是:

alert(allMyData[i+1][0] + "," + allMyData[i+1][1]);

这样,您选择了数组i+1,以及其中的单独值。

如果要为数组中的每个数组单独发出警报,则需要将alert语句放在for循环中:

function oMain(){
    var allMyData = <? echo htmlspecialchars($jsData, ENT_NOQUOTES, 'utf-8')?>;
    var data = new google.visualization.DataTable();
    data.addColumn('string', 'x');
    data.addColumn('number', 'mid');
    var i=0;
    alert(allMyData.length);
    for(i=0;i<allMyData.length;i++){
        alert(allMyData[i+1][0] + "," + allMyData[i+1][1]);
    }
}​​​​
相关问题