Compago

...free knowledge

 
  • Increase font size
  • Default font size
  • Decrease font size
Home Manuali Programmazione Print arrays or object in javascript

Print arrays or object in javascript

E-mail Stampa PDF

Una funzione che ho sempre ritenuto utile in PHP è la funzione print_r, la quale, sopratutto in fase di debug, permette di stampare il contenuto completo di un array (associativo o meno) oppure di un oggetto.

 

Il codice seguente fa la stessa cosa, solo che è possibile usarlo in javascript:

function print_r(o,level,max) {
  var output = "";
  if(!level) level = 0;
  var padding = "";
  for(var j=0;j<level+1;j++) padding += "    ";
  if(!max) max = 10;
  if(level==max) return padding + "Max level ["+level+"] reached\n";
  if(typeof(o) == 'object') { 
    for(var item in o) {
      var value = o[item];
      if(typeof(value) == 'object') { 
        output += padding + "[" + item + "] => Array\n";
        output += print_r(value,level+1,max);
      } else {
        output += padding + "[" + item + "] => \"" + value + "\"\n";
      }
    }
  } else { 
    output = "("+typeof(o)+") => "+o;
  }
  return output;
} 
 

L'uso della funzione è molto semplice:

var a = new Array("test string",'c',1000,23.1);
var o = { "val" : "New array", "number" : 33, "nest" : arra }; print_r(o);

Attenzione a come usate la funzione, perché nel caso di oggetti annidati o riferimenti circolari potrebbe dar luogo a un loop ricorsivo infinito. Occorre quindi usare il parametro di profondità con cui limitare la ricerca all'interno degli oggetti, di default questo valore è impostato a 10:

print_r(myobject,0,3);
Ultimo aggiornamento ( Giovedì 24 Novembre 2011 09:33 )  
Loading

Login