我正试图找出做某事的最佳方法。 我有一个充当HTML模板的变量,并从对象数组中插入属性。简单的代码如下:
i = 0;
v = "<li>",
v += array[i].prop,
v += "</li>";
对象数组:
array = new Array();
array[0] = { name: "1",
prop: "Property 1"
}
array[1] = { name: "2",
prop: "Property 2"
}
这有点让我:
for (; i < array.length ;) {
i += 1;
console.log(i);
$("body").append(v);
}
我在控制台中返回0和1,但是prop值两次返回“Property 1”。 据我所知,由于我没有在for循环中声明i,它应该将i的新值返回到最初声明的变量。这显然是我缺少/不理解的范围问题。
提前致谢。
答案 0 :(得分:2)
v
未在循环内重新分配。您多次追加相同的值。
答案 1 :(得分:1)
不完全确定您的问题是什么,但就“做某事的最佳方式”而言,我会去:
var array = [
{
name: "1",
prop: "Property 1"
},
{
name: "2",
prop: "Property 2"
}
],
i = 0,
v;
for (; i < array.length; i++) {
v = '<li>' + array[i].prop + '</li>';
$("body").append(v);
}