Close

Not a member yet? Register now and get started.

lock and key

Sign in to your account.

Account Login

Forgot your password?

19 Apr Posted by in Javascript | 1 comment

Funcao equivalente ao print_r do PHP no Javascript

Funcao equivalente ao print_r do PHP no Javascript
 

Garanto que muitos programadores enquanto debugavam seus códigos em javascript já deram um alert em um Array, hash ou em Objetos, com isso veio valores separadamente somente por virgulas ou simplesmente ele te retorna: [object Object]. Mas e como eu faço para ver realmente tudo o que existe dentro? Teria uma função semelhante ao print_r do PHP?

Existe uma função criada pelo Binny em 2005, ela me ajuda ja faz bastante tempo e decidi manter um exemplo nela no blog, segue função abaixo:

function dump(arr,level) {
   var dumped_text = "";
   if(!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') //Array/Hashes/Objects
   {
     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 //Stings/Chars/Numbers etc.
   {
     dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
   }
   return dumped_text;
}

Exemplo usando a função dump() acima.

var meuArray = new Array('1', '12', '123');
var objetos = {
		'Nome' : 'Ronie Neubauer',
		'Blog' : 'ronieneubauer.com',
		'Valores' : meuArray
};

alert(dump(objetos));

Conteúdo do alert

'Nome' => "Ronie Neubauer"
'Blog' => "ronieneubauer.com"
'Valores' ...
        '0' => "1"
        '1' => "12"
        '2' => "123"

DOWNLOAD DO EXEMPLO ACIMA
É isso, quem quizer ler o post original de quem criou esta função clique no link abaixo:
LINK FUNÇÃO ORIGINAL


  1. Rety17:41:25 03/05/2011

    Da hora!!

Leave a Reply