找回密码
 注册

[JS] JS 遍历数组或对象 仿 PHP foreach()

php 发表于 2013/1/28 14:36 | 显示全部楼层 |阅读模式
PHP里面的foreach()函数可以方便地用来遍历数组.
而javascript里面并没有这样的函数.每次都要写循环语句.
我们不仿为js自定义一个foreach()函数来模仿PHP里面的数组遍历.
  1. <script type="text/javascript">
  2. function foreach(a,c){
  3.         if(!a || !c || typeof a != 'object' || typeof c != 'function') return false;
  4.         var n = c.length;
  5.         if(n==2){
  6.                 for(var i in a){
  7.                         if(c.call(null,i,a[i]) === false){
  8.                                 break;
  9.                         }
  10.                 }
  11.         }else if(n==1){
  12.                 for(var i in a){
  13.                         if(c.call(null,a[i]) === false){
  14.                                 break;
  15.                         }
  16.                 }
  17.         }else{
  18.                 return false;
  19.         }
  20. }
  21. </script>
复制代码
使用方法:
遍历数组或对象中的索引和值时.
  1. <script type="text/javascript">
  2. var a = {"张三":23,"李四":32};
  3. foreach(a,
  4.         function(i,e){
  5.                 alert('我叫 ' + i + ' ,今年 ' + e + ' 岁.');
  6.         }
  7. );
  8. </script>
复制代码

只遍历数组或对象中的值
  1. <script type="text/javascript">
  2. var a = {"张三":23,"李四":32};
  3. foreach(a,
  4.         function(e){
  5.                 alert('我今年 ' + e + ' 岁.');
  6.         }
  7. );
  8. </script>
复制代码

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表