zoukankan      html  css  js  c++  java
  • 数据处理函数$.grep,$.map,$.makeArray,sort

    jQuery.grep(array, callback, [invert])

    使用过滤函数过滤数组元素。

    此函数至少传递两个参数:待过滤数组和过滤函数。过滤函数必须返回 true 以保留元素或 false 以删除元素。

    invert:如果 "invert" 为 false 或为设置,则函数返回数组中由过滤函数返回 true 的元素,当"invert" 为 true,则返回过滤函数中返回 false 的元素集。

      var list=[{name:"zs",age:17},{name:"ls",age:20},{name:"ww",age:18}];
        var adult=$.grep(list,function (val,index) {
            if(val.age>=18){
                return true
            }
        });
        console.log(adult); //[{name:"ls",age:20},{name:"ww",age:18}]

    jQuery.makeArray(obj)

    将类数组对象转换为数组对象。

    类数组对象有 length 属性,其成员索引为 0 至 length - 1。实际中此函数在 jQuery 中将自动使用而无需特意转换。

    jQuery.map(arr|obj,callback)

    将一个数组中的元素转换到另一个数组中。

    作为参数的转换函数会为每个数组元素调用,而且会给这个转换函数传递一个表示被转换的元素作为参数。转换函数可以返回转换后的值、null(删除数组中的项目)或一个包含值的数组,并扩展至原始数组中。

    <body>
        <div id="textArea">
            <span data-val="1">one</span>
            <span data-val="2">two</span>
            <span data-val="3">three</span>
            <span data-val="4">four</span>
        </div>
    </body>
    <script>
        var spanArray=$.makeArray($("#textArea span")).map(function (obj) {
            var param={}
            param.text=obj.textContent;
            param.value=$(obj).attr("data-val");
            return param;
        });
        console.log(spanArray);//[{text:"one",value:"1"},{text:"two",value:"2"},{text:"three",value:"3"},{text:"four",value:"4"}]
    </script>

    arrayObject.sort(sortby)

    sortby可选。规定排序顺序。必须是函数。

    返回值是对数组的引用。

    如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

    如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。

     var list=[{name:"zs",age:17},{name:"ls",age:20},{name:"ww",age:18}];
        list.sort(function (a,b) {
            return a.age-b.age;
        })
        console.log(list);//[{name:"zs",age:17},{name:"ww",age:18},{name:"ls",age:20}]
  • 相关阅读:
    C#
    C#
    ssh学习笔记
    (已解决)Could not open '/var/lib/nova/mnt/*/volume-*': Permission denied
    RPCVersionCapError: Requested message version, 4.17 is incompatible. It needs to be equal in major version and less than or equal in minor version as the specified version cap 4.11.
    如何在linux下安装idea
    The system has no LUN copy license
    调整mysql数据库最大连接数
    mysql数据库编码问题
    cinder支持nfs快照
  • 原文地址:https://www.cnblogs.com/sharpall/p/6654888.html
Copyright © 2011-2022 走看看