zoukankan      html  css  js  c++  java
  • 数据(数组,json)的处理

    有些时候我们在做联动事件以及获取动态的数据是,给到我们的都是数组,json格式的数据。

    为了方便快速的处理这些数据,jq给我们提供了很多简便的方法。

    each()方法

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

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

    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]); //for循环的两种方法;
            }
        }
    );
    </script>

    处理数据还有很多其他的方法,只不过这两个是比较常用的,效果比较好的。

  • 相关阅读:
    此查询使用的不是 ANSI 外部联接运算符
    centos重启命令
    updatePanel 加载完成后回调JS
    建站推荐十个免费的CMS内容管理系统(Php+mysql)
    [转]最值得拥有的免费Bootstrap后台管理模板
    Got a packet bigger than 'max_allowed_packet' bytes”
    ECshop商城程序常见的96个小问题汇总
    linux 命令
    mysql 存储过程
    千万级记录的Discuz论坛导致MySQL CPU 100%的优化笔记
  • 原文地址:https://www.cnblogs.com/BATAKK/p/5112379.html
Copyright © 2011-2022 走看看