我正在尝试将数组中的数组内容输出到HTML页面上的一小块区域。我只能输出一维数组。
简化后,目标数组有许多属性,但我很难找到正确的代码来输出嵌套在数组中的数组。
属性是; ID(整数) 位置(串) 邮编(字符串) 其他属性可以在线下添加。
输出信息我使用下面的代码(我只能在单个数组上工作 - 即使我改为使用[i] [x])
document.write("<tr><td>ID " + i + " is:</td>");
document.write("<td>" + LocationArray[i] + "</td></tr>");
如何正确创建能够存储信息然后输出特定部分的数组?例如,显示LocationArray [2] [3]
的内容document.write是一种有效的方法,还是有更好的方法?
答案 0 :(得分:1)
我把东西放在一起,这可以帮助你。最后回答你关于以正确方式创建阵列的问题;有两种可能性:
var locationsArray = [{ID:123,Location:'blabla',Postalcode:'1234'}];
var locationsArray = [{'ID':123,'Location':'blabla','Postalcode':'1234'}];
在我的例子中,我使用了第一次尝试。
对于您的第二个问题: document.write 只是在文档末尾写入。如果您要写入网站的特定区域,请创建一个容器(例如)并为其指定 id 。然后更改已创建容器的属性 innerHTML ,就像我在我的示例中所做的那样。
<强> HTML:强>
<div id="locations"></div>
<button onclick="printLocations()">Print Locations</button>
<强>使用Javascript:强>
function printLocations() {
var locationsArray = [{
ID : 123,
Location : 'Candyland',
Postalcode : '1234'
}, {
ID : 456,
Location : 'Middle-Earth',
Postalcode : '4567'
}
];
var locationsHtml = '';
for (var index in locationsArray) {
locationsHtml += 'ID: ' + locationsArray[index].ID + ', ' +
'Location: ' + locationsArray[index].Location + ', ' +
'Postalcode: ' + locationsArray[index].Postalcode + '<br />';
}
console.log(locationsHtml);
document.getElementById('locations').innerHTML = locationsHtml;
}
如果您只想编写数组的特定部分(在您的示例中只是一个特定位置),只需使用您想要的索引并以与我示例中的for循环相同的方式访问它:
var locationsHtml = locationsArray[1].ID + locationsArray[1].Location + etc...;
/*with string-keys: var locationsHtml = locationsArray[1]['ID'] + etc...;*/
document.getElementById('locations').innerHTML = locationsHtml;