使用DOM打印数组的内容

时间:2017-10-18 13:59:12

标签: javascript arrays

尝试使用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();
}

2 个答案:

答案 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;所需的任何内容