尝试使用innerhtml打印数组的内容。在<p>
标记中打印。当数组大于1时,不打印任何内容。我错过了什么?
function printInv() {
var print = "";
for (var i = 0; i < playerInv.length; i++) {
print += "<br>" + test[i].name;
}
}
if(playerInv.length >= 1) {
document.getElementById('display-inv').innerHTML = printInv();
}
答案 0 :(得分:3)
当数组大于1时,不打印任何内容。我是什么 丢失?
我猜返回值
function printInv()
{
var print = "";
for (var i = 0; i < playerInv.length; i++)
{
print += "<br>" + test[i].name;
}
return print; //this line
}
更简单的版本
function printInv()
{
return playerInv.map( function( v, i ){ return test[i].name }).join( "<br>" );
}
<强>样本强>
var playerInv = [1,2];
var test = [ {name: "name1" }, {name: "name2" } ];
if (playerInv.length >= 1)
{
document.getElementById('display-inv').innerHTML = printInv();
}
function printInv()
{
return playerInv.map(function(v, i) {
return test[i].name
}).join("<br>");
}
<div id="display-inv"></div>
答案 1 :(得分:0)
您的printInv函数不会返回在末尾添加return print;
所需的任何内容