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


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

    js中json与数组字符串的相互转化

    <SCRIPT LANGUAGE="JavaScript">

    var t="{'firstName': 'cyra', 'lastName': 'richardson', 'address': {
    'streetAddress': '1 Microsoft way', 'city': 'Redmond', 'state': 'WA',
    'postalCode': 98052 },'phoneNumbers': [ '425-777-7777','206-777-7777' ]
    }";

        var jsonobj=eval('('+t+')');

        alert(jsonobj.firstName);

        alert(jsonobj.lastName);

    var t2="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] ";

    var myobj=eval(t2);

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

       alert(myobj[i].name);

       alert(myobj[i].age);

    }

    var t3="[['<a href=#
    onclick=openLink(14113295100,社旗县国税局桥头税务
    所,14113295100,d6d223892dc94f5bb501d4408a68333d,swjg_dm);>14113295100</a>','
    社旗县国税局桥头税务所','社旗县城郊乡长江路西段']]";

    //通过eval() 函数可以将JSON字符串转化为对象

    var obj = eval(t3);

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

       for(var j=0;j<obj[i].length;j++){

    alert(obj[i][j]);

       }

    }

    /*

    //stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。

    var jsonText = JSON.stringify(obj);

    alert(jsonText);

    //如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。

    var myObject = JSON.parse(myJSONtext, filter);  

    //可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:

    //如

    myData = JSON.parse(text, function (key, value) {       

    return key.indexOf('date') >= 0 ? new Date(value) : value;    });

    //stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。

    var myJSONText = JSON.stringifier(myObject);

    */

    </SCRIPT>

  • 相关阅读:
    保证在浏览器上word/图片/Excel的下载的表现形式一样
    C学习笔记 知识集锦(二)
    函数返回值
    C++ 四种新式类型转换
    构造&析构
    指针与引用
    C++三大特性 封装 继承 多态
    Git stash 常见用法
    Git branch && Git checkout常见用法
    linux Vi使用
  • 原文地址:https://www.cnblogs.com/bluealine/p/6251420.html
Copyright © 2020-2023  润新知