我有从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;
我知道它有点长,但当我处理多首歌曲时,我也可以用数组键循环它们。
答案 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);