欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-17 23:57:10
grep grep()方法用于数组元素过滤筛选 grep(array,callback,invert) array:待过滤数组; callback:处理数组中的每个元素,并过滤元素,该函数中包含两个...

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;
}