遍历并打印出带有函数的对象数组(在html上)

时间:2018-11-01 11:26:16

标签: javascript arrays object

var arr=[{a:2, b:3},{a:3, b:4},{a:4,b:5},] 

function printarr(){
  for(var i=0; i<arr.length; i++)

}

document.getElementById("output").innerHTML= printarr(); 

如何打印出数组中的每个对象? 谢谢 我想将其写在html文档上,而html已经设置

4 个答案:

答案 0 :(得分:0)

var arr=[{a:2, b:3},{c:3, d:4},{d:4,e:5}] 

function printarr(arr){
  for(var i=0; i<arr.length; i++){
   console.log(arr[i]) // to print whole object
   console.log(arr[i].a) // to print only property a
   console.log(arr[i].b) // to print only property b
  }
} 

printarr(arr);

答案 1 :(得分:-1)

尝试一下

arr.forEach((elem)=>console.log(elem))

答案 2 :(得分:-1)

如果要将函数调用的值分配给innerHTML,则需要返回字符串,空循环将不执行任何操作。例如:

var arr=[{a:2, b:3},{a:3, b:4},{a:4,b:5},] 

function printarr(){
  var output = '';
  for(var i=0; i<arr.length; i++) {
      // \n at the end will not work unless output is pre tag or it have pre css
      output += 'a:' + arr[i].a + ', b: ' + arr[i].b + '<br/>';  
  }
  return output;
}

document.getElementById("output").innerHTML= printarr(); 

除了访问.a.b之外,您还可以在每个对象上使用JSON.stringify函数:

function printarr(){
  var output = '';
  for(var i=0; i<arr.length; i++) {
    output += JSON.stringify(arr[i]) + '<br/>';
  }
  return output;
}

您甚至可以将其用于整个数组:

function printarr(){
  return JSON.stringify(arr);
}

JSON.stringify还接受两个附加参数,如果您希望打印漂亮(缩进),可以使用以下参数:

function printarr(){
  return JSON.stringify(arr, true, 2); // 2 is number of spaces per indent
}

答案 3 :(得分:-2)

你快到了。

var arr=[{a:2, b:3},{c:3, d:4},{d:4,e:5},];
function printarr(){
  for(var i=0; i<arr.length; i++){
     Console.Writeline(arr[i].a);
     Console.Writeline(arr[i].b);
  }
}