• jquery 操作字符串、数组、对象常用方法


    http://jquery.cuishifeng.cn/

    1.$.trim(str)  去掉字符串首尾空格。(jQuery.trim())

    在jquery中,遍历对象和数组,经常会用到$().each和$.each(),两个方法。两个方法是有区别的,从而这两个方法在针对不同的操作上,显示了各自的特点。

    2.$().each,对于这个方法,在dom处理上面用的较多。如果页面有多个input标签类型为checkbox,对于这时用$().each来处理多个checkbook,例如:

    $(“input[name=’ch’]”).each(function(i){
    if($(this).attr(‘checked’)==true)
    {
    //一些操作代码

    }回调函数是可以传递参数,i就为遍历的索引。

    对于遍历一个数组,用$.each()来处理,例如:

    $.each([{“name”:”limeng”,”email”:”xfjylimeng”},{“name”:”hehe”,”email”:”xfjylimeng”},function(i,n)
    {
    alert(“索引:”+i,”对应值为:”+n.name);
    });

    参数i为遍历索引值,n为当前的遍历对象.

    var arr1 = [ “one”, “two”, “three”, “four”, “five” ];
    $.each(arr1, function(){
    alert(this);
    });
    输出:one   two  three  four   five
    var arr2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    $.each(arr2, function(i, item){
    alert(item[0]);
    });
    输出:1   4   7
    var obj = { one:1, two:2, three:3, four:4, five:5 };
    $.each(obj, function(key, val) {
    alert(obj[key]);
    });
    输出:1   2  3  4  5

    http://www.frontopen.com/1394.html

    3.$.extend()

    第一个用法:用一个或多个其他对象来扩展一个对象,返回被扩展的对象 。jQuery.extend(target,object1,[objectN]):用于将object1、objectN的属性合并到target对象里,如果target里面有和object1、objectN同名属性,则object1、objectN的属性值将覆盖target的属性值,如果target不包含object1、objectN里所包含的属性值,则object1、objectN的属性值将会新增到target对象里。

    第二个用法:jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法。可以理解为添加静态方法

    $.extend({
    add:function(a,b){return a+b;},
    minus:function(a,b){return a-b},
    multiply:function(a,b){return a*b;},
    divide:function(a,b){return Math.floor(a/b);}
    });
    var sum = $.add(3,5)+$.minus(3,5)+$.multiply(3,5)+$.divide(5,7);
    console.log(sum); 

    4.$.grep()方法是按照某种条件来过滤数组,所以使用 $.grep() 方法可以从数组中过滤出我们想要的结果。

    var nums='1,2,3,4,5,jQuery,Css,5'.split(',');split() 方法用于把一个字符串分割成字符串数组。

    可见数组中有数字和字符串,如果我们想找出其中的字符串,我们可以直接使用 $.grep() 方法来完成这个任务,如下:

    nums = $.grep(nums, function (num, index) {
        // num = 数组元素的当前值  
        // index = 当前值的下标
        return isNaN(num);//isNaN() 函数用于检查其参数是否是非数字值。
    });
    console.log(nums); //结果为: ["jQuery", "CSS"]  

     

    我们很容易想到 $.map() 方法,$.map() 方法可将一个数组转换为另一个数组,所以,使用 $.map() 方法也可以完成这个任务,如下:

    nums = $.map(nums, function (num, index) {
        //和$.grep() 的区别
        //return isNaN,得到结果为:[true, true]
        return isNaN(num) ? num : null;
    });
    
    console.log(nums); // ["jQuery", "CSS"] 
    5.$.isArray()
    判断一个对象是不是数组
    $.isArray( [ 10, 25, 3 ] ) ; // true
    $.isArray( new Array() ) ; // true
    $.isArray( null ) ); // false
    $.isArray( true ) ); // false
    $.isArray( { } ) ; // false
    6.$.
    inArray()
    jquery.inarray(value,array)
    确定
    value在数组中的位置(如果没有找到则返回 -1 )。
    7.$.
    makeArray( object )
    Object需要转换为数组的类数组对象。
    一个类数组对象,它至少应该具备length属性,哪怕其值为 0,它可以没有"元素"(相当于空数组)。

       如果参数Object没有length属性,则它不是类数组对象

       类数组对象是非常常见的,例如我们经常使用的jQuery对象、NodeList对象以及函数内的arguments对象,都是类数组对象。它们都具有length属性,

       而且通过数字属性来访问对应的元素或参数。不过,它们毕竟不是真正的数组对象,因此无法使用数组对象的内置方法。通过jQuery.makeArray()函数,

       我们可以将类数组对象转换为一个真正的数组对象,从而使用数组对象的内置方法。

    var obj = { 0:"CodePlayer", 1: "Hello", 2: 18, 3: true };
    obj.length = 4;
    // 类数组对象不是真正的数组
    w( obj instanceof Array ); // false instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。
    var arr = $.makeArray( obj );
    w( arr instanceof Array ); // true
    w( arr.join(" ") ); // CodePlayer Hello 18 true
    w( arr.length ); // 4
    8.jQuery.unique()函数用于根据元素在文档中出现的先后顺序对DOM元素数组进行排序,并移除重复的元素。
    注意:该函数仅作用于DOM元素数组,而不是数字、字符串或其他类型。此外,这里的重复指的是两个元素实际上是同一个元素(通过全等"==="来判断),而不是指两个属性相同的元素。
    9.
    jQuery.parseJSON()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象。

      所谓"格式完好",就是要求指定的字符串必须符合严格的JSON格式,例如:属性名称必须加双引号、字符串值也必须用双引号。

      如果传入一个格式不"完好"的JSON字符串将抛出一个JS异常

    10.jQuery.parseXML()函数用于将字符串解析为对应的XML文档。

         该函数将使用浏览器内置的解析函数来创建一个有效的XML文档,该文档可以传入jQuery()函数来创建一个典型的jQuery对象,从而对其进行遍历或其他操作。

      11.$.type(obj)来实现类型判断

    12.jQuery.merge( first, second ) 返回: Array   合并两个数组内容到第一个数组。

    $.merge( [0,1,2], [2,3,4] )
    [0,1,2,2,3,4] 
    
    
    
    
    
    


    
    
    
  • 相关阅读:
    BZOJ3932 [CQOI2015]任务查询系统
    数位DP专练
    Codeforces #669 div2
    Codeforces #670 div2
    P1450 [HAOI2008] 硬币购物
    P3172 [CQOI2015]选数
    比赛-Round 1 (12 Jul, 2018)
    “记计帐”需求分析
    一个程序员的哲学思考
    中国式大学——我们需要获得什么?
  • 原文地址:https://www.cnblogs.com/hudandan/p/6093603.html
Copyright © 2020-2023  润新知