如何在javascript中循环编号变量

时间:2013-05-30 06:39:51

标签: javascript jquery html ajax

我有从JQuery .ajax函数作为数组返回的数据。

现在,该数组中的字段被命名为&编号为第1部分,第2部分,第3部分等。

我在下面有一些代码,我认为它可以循环通过它,但它会返回NaN。

for (var a = 1; a <= 9; a++) {
newtext += '<div class="part">' + (exploded[0].part + a) + '</div>';
}

我无法获得任何预期的工作,所以我做了这个。

var h = new Array();
h[1] = exploded[0].part_1;
h[2] = exploded[0].part_2;
h[3] = exploded[0].part_3;
h[4] = exploded[0].part_4;
h[5] = exploded[0].part_5;
h[6] = exploded[0].part_6;
h[7] = exploded[0].part_7;
h[8] = exploded[0].part_8;
h[9] = exploded[0].part_9;

我知道它有点长,但当我处理多首歌曲时,我也可以用数组键循环它们。

4 个答案:

答案 0 :(得分:4)

以这种方式尝试:

for (var a = 1; a <= 9; a++) {
    newtext += '<div class="part">' + (exploded[0]['part_' + a]) + '</div>';
}

答案 1 :(得分:0)

您可以像这样迭代/遍历数组项。你应该使用数组变量的属性'length'来说明数组有多少项......

var myStringArray = ["part1", "part2", "part3"];
for (var i = 0; i < myStringArray.length; i++) {
    alert(myStringArray[i]);
    //Do something
}

答案 2 :(得分:0)

确保阵列爆炸有10个元素,因为数组的索引以零开头,因此对于9个元素,您可以像这样编写代码

   for (var a = 0; a <= exploded.length; a++) {
        newtext += '<div class="part">' + (exploded[a].part + a) + '</div>';
        }
    alert(newtext);

修改响应以动态访问属性---------

    var newtext='';
            alert('hi');
    var exploded= {"title":"Cornerstone","firstline":"","keysignature":"C","copyright":"","part_1":"sandeep","part_2":"","part_3":"","part_4":"","part_5":"","part_6":"","part_7":"","part_8":"","part_9":"","ref":"2"};
    var prop='';
    var newhtml='';

    for (var a = 1; a <= 9; a++) {
        prop='part_' + a;

        newhtml+='<div class="part">' + (exploded[prop]) + '</div>';
    }
    alert(newhtml);

答案 3 :(得分:0)

以下内容如何:

var array=["part1", "part2", "part3"];
html=array.map(function(o){ return '<div class="part">'+o+'</div>' }).join("")
console.log(html);

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FArray%2Fmap