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 相关文章推荐
使用UglifyJS合并/压缩JavaScript的方法
Mar 07 Javascript
js 处理数组重复元素示例代码
Dec 27 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
Feb 02 Javascript
JavaScript检测鼠标移动方向的方法
May 22 Javascript
JS实现的简洁二级导航菜单雏形效果
Oct 13 Javascript
JS SetInterval 代码实现页面轮询
Aug 11 Javascript
JavaScript中var、let、const区别浅析
Jun 24 Javascript
在微信小程序里使用watch和computed的方法
Aug 02 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
Dec 11 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
Apr 30 Javascript
javscript 数组扁平化的实现
Feb 03 Javascript
springboot+vue实现文件上传下载
Nov 17 Vue.js
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遍历二维数组的代码
2011/04/22 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
PHP用FTP类上传文件视频等的简单实现方法
2016/09/23 PHP
网页中可关闭的漂浮窗口实现可自行调节
2013/08/20 Javascript
ztree获取当前选中节点子节点id集合的方法
2015/02/12 Javascript
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
JavaScript事件委托实例分析
2015/05/26 Javascript
无刷新上传文件并返回自定义值
2015/06/11 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
2016/04/08 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
2016/09/20 Javascript
jQuery webuploader分片上传大文件
2016/11/07 Javascript
浅谈JavaScript中的属性:如何遍历属性
2017/09/14 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
jquery实现图片放大镜效果
2020/12/23 jQuery
[06:09]辉夜杯主赛事开幕式
2015/12/25 DOTA
[54:02]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 IG vs VGJ.T
2018/04/03 DOTA
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
python安装scipy的步骤解析
2019/09/28 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
python 实现分组求和与分组累加求和代码
2020/05/18 Python
如何用python开发Zeroc Ice应用
2021/01/29 Python
CSS3 3D制作实战案例分析
2016/09/18 HTML / CSS
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
体操比赛口号
2014/06/10 职场文书
2014年幼儿园教师工作总结
2014/11/08 职场文书
大学生学年个人总结
2015/02/15 职场文书
送给自己的励志语句:要安静的优秀,悄无声息的坚强
2019/11/26 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL