Если вы хотите присвоить значение вызова функции для 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
}