jquery遍历数组与筛选数组的方法


Posted in Javascript onNovember 05, 2013

grep
grep()方法用于数组元素过滤筛选
grep(array,callback,invert)
array:待过滤数组;
callback:处理数组中的每个元素,并过滤元素,该函数中包含两个参数,第一个是当前数组元素的值,一个是当前数组元素的下标,即元素索引值。此函数应返回一个布尔值。另外,此函数可设置为一个字符串,当设置为字符串时,将视为“lambda-form”(缩写形式?),其中 a 代表数组元素,i 代表元素索引值。如“a > 0”代表“function(a){ return a > 0; }”
invert:布尔型可选项,默认值false,值为true或false, 如果 “invert” 为 false 或为设置,则函数返回数组中由过滤函数返回 true 的元素,当”invert” 为 true,则返回过滤函数中返回 false 的元素集
 

<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
    function(){
        var array = [1,2,3,4,5,6,7,8,9];
        var filterarray = $.grep(array,function(value){
            return value > 5;//筛选出大于5的
        });
        for(var i=0;i<filterarray.length;i++){
            alert(filterarray[i]);
        }
        for (key in filterarray){
            alert(filterarray[key]);
        }
    }
);
</script>
 

each
each的使用方法
在jQuery里有一个each方法,用起来非常的爽,不用再像原来那样写for循环,jQuery源码里自己也有很多用到each方法。
其实jQuery里的each方法是通过js里的call方法来实现的。

<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
    function(){
        var anObject = {one:1,two:2,three:3};//对json数组each
        $.each(anObject,function(name,value) {
            alert(name);
            alert(value);
        });
        var anArray = ['one','two','three'];
        $.each(anArray,function(n,value){
            alert(n);
            alert(value);
        }
        );
    }
);
</script>

inArray
jQuery.isArray(obj) 是 jQuery 1.3 新增。测试对象是否为数组。  返回值:Boolean
参数 : objObject用于测试是否为数组的对象
示例 :检测是否为数组

<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
    function(){
        var anArray = ['one','two','three'];
        var index = $.inArray('two',anArray);
        alert(index);//返回该值在数组中的键值,返回1
        alert(anArray[index]);//value is two
    }
);
</script>

map
map() 把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象。
由于返回值是 jQuery 封装的数组,使用 get() 来处理返回的对象以得到基础的数组。
.map() 方法对于获得或设置元素集的值特别有用。请思考下面这个带有一系列复选框的表单

<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
    function(){
        var strings = ['0','1','2','3','4','S','6'];
        var values = $.map(strings,function(value){
                var result = new Number(value);
                return isNaN(result) ? null:result;//isNaN:is Not a Number的缩写
            }
        );
        for (key in values) {
            alert(values[key]);
        }
    }
);
</script>

遍历json对象:

<script>
var json = [{dd:'SB',AA:'东东',re1:123},{cccc:'dd',lk:'1qw'}];
for(var i=0,l=json.length;i<l;i++){
    for(var key in json[i]){
        alert(key+':'+json[i][key]);
    }
}
</script>

遍历json对象
有如下 json对象:

var obj ={”name”:”冯娟”,”password”:”123456″,”department”:”技术部”,”sex”:” 女”,”old”:30};
遍历方法:
for(var p in obj){
    str = str+obj[p]+',';
    return str;
}
Javascript 相关文章推荐
jquery $(&quot;#variable&quot;) 循环改变variable的值示例
Feb 23 Javascript
js身份证判断方法支持15位和18位
Mar 18 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
Mar 03 Javascript
AngularJS学习笔记之基本指令(init、repeat)
Jun 16 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
Nov 20 Javascript
JavaScript实现图片自动加载的瀑布流效果
Apr 11 Javascript
基于JavaScript实现购物网站商品放大镜效果
Sep 06 Javascript
Three.js实现绘制字体模型示例代码
Sep 26 Javascript
详解VueJS应用中管理用户权限
Feb 02 Javascript
浅谈react性能优化的方法
Sep 05 Javascript
webpack4 SplitChunks实现代码分隔详解
May 23 Javascript
浅析vue中的provide / inject 有什么用处
Nov 10 Javascript
javascript alert乱码的解决方法
Nov 05 #Javascript
jquery三个关闭弹出层的小示例
Nov 05 #Javascript
jquery ajax post提交数据乱码
Nov 05 #Javascript
jquery ajax属性async(同步异步)示例
Nov 05 #Javascript
jQuery Ajax异步处理Json数据详解
Nov 05 #Javascript
Javascript脚本实现静态网页加密实例代码
Nov 05 #Javascript
客户端js性能优化小技巧整理
Nov 05 #Javascript
You might like
php实现当前页面点击下载文件的简单方法
2016/09/22 PHP
php外部执行命令函数用法小结
2016/10/11 PHP
清除网页历史记录,屏蔽后退按钮!
2008/12/22 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
用javascript添加控件自定义属性解析
2013/11/25 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
react-router实现按需加载
2017/05/09 Javascript
Vue之Vue.set动态新增对象属性方法
2018/02/23 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
js 将线性数据转为树形的示例代码
2019/05/28 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
Python模拟用户登录验证
2017/09/11 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
python pygame实现方向键控制小球
2019/05/17 Python
在Python中表示一个对象的方法
2019/06/25 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
python找出因数与质因数的方法
2019/07/25 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
Pytorch中.new()的作用详解
2020/02/18 Python
Django实现celery定时任务过程解析
2020/04/21 Python
python在CMD界面读取excel所有数据的示例
2020/09/28 Python
HTML5实现桌面通知 提示功能
2017/10/11 HTML / CSS
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
final, finally, finalize的区别
2012/03/01 面试题
廉政教育心得体会
2014/01/01 职场文书
火车的故事教学反思
2014/02/11 职场文书
科技节口号
2014/06/19 职场文书
优秀毕业生的求职信
2014/07/21 职场文书
党性心得体会
2014/09/03 职场文书
销售员工作检讨书(推荐篇)
2014/10/18 职场文书
教师创先争优承诺书
2015/04/27 职场文书
因公司原因离职的辞职信范文
2015/05/12 职场文书
Python基础数据类型tuple元组的概念与用法
2021/08/02 Python