Here the code in nearly unmodified version:
function dump(arr, level)
* Function: dump()
* The data – array,hash(associative array),object
* The level – OPTIONAL
* Returns: The textual representation of the array.
* This function was inspired by the print_r function of PHP.
* This will accept some data as the argument and return a
* text that will be a more readable version of the
* array/hash/object that is given.
* Docs: http://www.openjs.com/scripts/others/dump_function_php_print_r.php
var dumped_text = "";
level = level || 0;
//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0; j<level + 1; j++) level_padding += " ";
if(typeof(arr) == ‘object’)
for(var item in arr)
var value = arr[item];
if(typeof(value) == ‘object’)
//If it is an array,
dumped_text += level_padding + "’" + item + "’ …n";
dumped_text += dump(value,level+1);
else dumped_text += level_padding + "’" + item + "’ => "" + value + ""n";
else dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
You can call it like:
Second parameter is optional and is useful only in case of array, objects etc., for pointing out at which level (root by default) iteration during dumping of such object should begin.
This is nearly entirely taken from [source]/source, with only few technical modification done by me.