How to print object array in JavaScript?
I have created an object array in JavaScript. How can I print the object array in the browser window, similar to print_r
function in PHP?
var lineChartData = [{
date: new Date(2009, 10, 2),
value: 5
}, {
date: new Date(2009, 10, 25),
value: 30
}, {
date: new Date(2009, 10, 26),
value: 72,
customBullet: "images/redstar.png"
}];
Simply stringify
your object and assign it to the innerHTML of an element of your choice.
yourContainer.innerHTML = JSON.stringify(lineChartData);
If you want something prettier, do
yourContainer.innerHTML = JSON.stringify(lineChartData, null, 4);
var lineChartData = [{
date: new Date(2009, 10, 2),
value: 5
}, {
date: new Date(2009, 10, 25),
value: 30
}, {
date: new Date(2009, 10, 26),
value: 72,
customBullet: "images/redstar.png"
}];
document.getElementById("whereToPrint").innerHTML = JSON.stringify(lineChartData, null, 4);
<pre id="whereToPrint"></pre>
But if you just do this in order to debug, then you'd better use the console with console.log(lineChartData)
.
Did you check
console.table(yourArray);
More infos here: https://developer.mozilla.org/en-US/docs/Web/API/Console/table
If you are using Chrome, you could also use
console.log( yourArray );
There is a wonderful print_r
implementation for JavaScript in php.js library.
Note, you should also add echo
support in the code.
DEMO: http://jsbin.com/esexiw/1
Simple function to alert contents of an object or an array .
Call this function with an array or string or an object it alerts the contents.
Function
function print_r(printthis, returnoutput) {
var output = '';
if($.isArray(printthis) || typeof(printthis) == 'object') {
for(var i in printthis) {
output += i + ' : ' + print_r(printthis[i], true) + '\n';
}
}else {
output += printthis;
}
if(returnoutput && returnoutput == true) {
return output;
}else {
alert(output);
}
}
Usage
var data = [1, 2, 3, 4];
print_r(data);