用nodejs实现PHP的print_r函数代码

代码如下:

function ergodic(obj,indentation){
  var indent = "  " + indentation;
  if(obj.constructor == Array || obj.constructor == Object){

    for(var p in obj){
      if(obj[p].constructor == Array|| obj[p].constructor == Object){
        console.log(indent + "["+p+"] => "+typeof(obj)+"");
        console.log(indent + "{");
        ergodic(obj[p], indent);
        console.log(indent + "}");
      } else if (obj[p].constructor == String) {
        console.log(indent + "["+p+"] => '"+obj[p]+"'");
      } else {
        console.log(indent + "["+p+"] => "+obj[p]+"");
      }
    }
  }
}

function print_r(obj) {
  console.log("{")
  ergodic(obj, "");
  console.log("}")
}

var stu = {'name':'Alan','grade':{'Chinese':120,'math':130,'competition':{'NOI':'First prize'}}};

print_r(stu);

相关推荐