js打印数组的函数范例

在js中,不像php那样拥有自带的print_r()、var_dump()打印数组的函数。为了方便日常调试,我们可以自己写一个打印的函数出来,就像php那样的。

实现不难,主要运用循环去遍历数组,同时运用Object.prototype.toString.call去判断如果元素仍是数组,则递归执行。

 

以下为打印的效果图,可以选择用alert打印,也可以选择用console.log打印到控制台。打印出来的效果跟php中的print_r比较像。

 

 

效果1

 

 

可以打印到控制台

 

效果2

 

参考源码:

 

<!doctype html>

 

<html>

 

<head>

 

<meta charset="utf-8">

 

<title>js打印数组函数范例</title>

 

</head>

 

<body>

 

<script type="text/javascript">

 

  var arr = new Array('www.111cn.com');

 

  arr[1] = new Array('www','111cn','com');

 

  arrRes = print_arr(arr);

 

  alert(arrRes); //直接弹出

 

  console.log(arrRes); //在控制台打印

 

  /**

 

   * 打印数组

 

   * @param  {[type]} arr    要打印的数组

 

   * @param  {[type]} space  控制打印的缩进

 

   * @param  {[type]} space2 控制打印的缩进2

 

   */

 

  function print_arr(arr, space, space2)

 

  {

 

    space = space || '';

 

    space2 = space2 || '      ';

 

    var str = "Array\n"+space+"(\n";

 

    for(var i=0; i<arr.length; i++)

 

    {

 

      if( Object.prototype.toString.call(arr[i]) == '[object Array]' )

 

      { //判断是否是数组,如果是,进行递归拼接

 

        str += space2 + '[' +i+"] => "+ print_arr(arr[i], space+'      ', space2+'      ');

 

      }

 

      else

 

      {

 

        str += space2 +'['+i+"] => "+ arr[i] +"\n";

 

      }

 

    }

 

    str += space+")\n";

 

    return str;

 

  }

 

</script>

 

</body>

 

</html>

 

可以把这个函数放到公共的js文件中,日常工作的时候就很方便调用调试了。

时间: 2024-10-11 02:06:50

js打印数组的函数范例的相关文章

JavaScript数组操作函数汇总_javascript技巧

js中数组操作函数还是非常多的,今天忽然想到来总结一下,也算是温故而知新吧.不过不会针对每个办法都进行一下总结,只是针对一些比较常用的做个备注一下. 这里总结到的 js 数组操作函数有:push,pop,join,shift,unshift,slice,splice,concat(1)push 和 pop这两个函数都是对数组从尾部进行压入或弹出操作.push(arg1,arg2,...)可以每次压入一个或多个元素,并返回更新后的数组长度.注意如果参数也是数组的话,则是将全部数组当做一个元素压入到

用在PHP里的JS打印函数

js|打印|函数 auto=1立即PRINT,否则timeOut毫秒后PRINT,如printPage(0,5000): function printPage($auto=1,$timeOut=10000) { if ($auto == 1) { echo " < SCRIPT LANGUAGE="JavaScript" > < !-- Begin if (window.print) { window.print(); } else { alert('No

js打造数组转json函数

 这里给大家分享的是一段使用js实现数组转换成json的函数代码,代码简洁易懂,并附上了使用方法,小伙伴们拿去试试.     代码很简单,这里就不多废话了,直接奉上:   代码如下: function arrayToJson(o) { var r = []; if (typeof o == "string") return """ + o.replace(/(['"])/g, "$1").replace(/(n)/g, &qu

js操作数组函数实例小结_javascript技巧

本文实例讲述了js操作数组函数.分享给大家供大家参考,具体如下: 1.删除数组中指定的元素 /** * 参考实例 foreach = function (obj, insp){ if(obj== null && obj.constructor != Array){ return []; } //obj是要处理的数组,obj==null 表示对象尚未存在:obj.constructor != Array 表示对象obj的属性的构造函数不是数组: //constructor属性始终指向创建当前

JS遍历数组及打印数组实例分析_javascript技巧

本文实例分析了JS遍历数组及打印数组的方法.分享给大家供大家参考,具体如下: 一直头痛与JS的打印数组,也没看到什么比较好的方法,写一个简单的方法备用. // 遍历数组 var dd = { 'a' : '111111', 'b' : '222222', 'c' : '333333' } dd['d'] = ['444444','55555555']; // 遍历数组 function scan_array(arr) { for(var key in arr) { // 这个是关键 if(typ

JS删除数组元素的函数介绍_javascript技巧

split将字符串转为数组并输出的代码: 复制代码 代码如下: <script language="javascript">    function spli(){             datastr="2,2,3,5,6,6";         var str= new Array();     str=datastr.split(",");           for (i=0;i<str.length ;i++ )  

动态网页技术PHP的数组处理函数库

array :  建立一个新的数组.  array_walk :  让用户自订函数能处理数组中的每一个元素.  arsort :  将数组的值由大到小排序.  asort :  将数组的值由小到大排序.  count :  计算变量或数组中的元素个数.  current :  返回数组中目前的元素.  each :  返回数组中下一个元素的索引及值.  end :  将数组的内部指针指到最后的元素.  key :  取得数组中的索引资料.  ksort :  将数组的元素依索引排序.  list

C语言之指针、数组和函数

基本解释 1.指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址):数组的本质则是一系列的变量. 2.数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变.指针可以随时指向任意类型的内存块,它的特征是"可变",所以我们常用指针来操作动态内存. 3.当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针. 问题:指针与数组 听说char a[]与char *a是一致的,是不是这样呢? 答案与分析: 指针和数组存在着一些本质的区别

js中数组(Array)的排序(sort)注意事项说明

 本篇文章主要是对js中数组(Array)的排序(sort)注意事项进行了说明介绍,需要的朋友可以过来参考下,希望对大家有所帮助 直接看代码吧,测试结果也贴在里面了    代码如下: var arrDemo = new Array();    arrDemo[0] = 10;  arrDemo[1] = 50;  arrDemo[2] = 51;  arrDemo[3] = 100;    arrDemo.sort(); //调用sort方法后,数组本身会被改变,即影响原数组    alert(