当前位置:Web前端 > jquery> 正文

Jquery对数组的操作

时间:2015-8-2类别:Web前端

Jquery对数组的操作

Jquery对数组的操作

一、遍历

$.each(arr, callback(key, val));

1、回调函数拥有两个参数:第一个为对象的成员或数组的索引, 第二个为对应变量或内容

2、如果需要退出 each 循环,可使回调函数返回 false,用return false, 其它返回值将被忽略.

3、例如

 

  • 
    
    var arr = [1, 2, 3, 4];
    $.each(arr, function(key, val) {   
        console.log(arr[key] + '下标为' + key + '值为' + val);
        // 如果想退出循环
        // return false;
    });
    
    		
  •  

    二、筛选

    $.grep(arr, callback, invert)

    1、此函数至少传递两个参数,第三个参数为true或false,对过滤函数返回值取反

    2、默认invert为false, 即过滤函数返回true为保留元素. 如果设置invert为true, 则过滤函数返回true为删除元素.

    3、过滤函数必须返回 true 以保留元素或 false 以删除元素.

    4、例如

     

  • 
    
    var temp = []; 
    temp = $.grep(arr, function(val, key) { 
         if(val.indexOf('c') != -1)  
             return val; 
         // 如果[invert]参数不给或为false, $.grep只收集回调函数返回true的数组元素 
         // 反之[invert]参数为true, $.grep收集回调函数返回false的数组元素 
    }, false); 
    
    		
  • 5、常用做获取两个数组中相同(或不相同)的部分

     

  • 
    var a= [1, 2, 3, 4],
        b=[1,3,5,7];
    $.grep(a,function(val,key){
        if(b.indexOf(val)>=0){
            return val;
        }
    },false);
    
    		
  •  

    三、转换

    $.map(arr,callback(key,val))

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

    2、和each函数差不多,  区别就是回调函数可以改变当前元素.返回null则删除当前元素.

    3、例如

     

  • 
    var a = [1, 2, 3, 4];
    $.map(a, function(val, key) { 
       //返回null,返回的数组长度减1
       if(val == 'vb') return null;
        if (a[key] > 2) {
            a[key]=val+1;
        }
        return val;              
    });
    
    		
  •  

    四、合并

    $.merge(arr1,arr2)

    1、arr1后面加上arr2后返回arr1

    2、例如

     

  • 
    
    var frontEnd = ['javascript', 'css', 'html'], 
        backEnd = ['java', 'php', 'c++']; 
     // 这种方式会修改第一个参数, 即frontEnd数组 
     temp = $.merge(frontEnd, backEnd); 
    
     // 可以用下面的方式来避免对原数组的影响 
     // $.merge($.merge([], frontEnd), backEnd); 
    
    		
  •  

    五、判断

    $.inArray(val,arr)  

    1、判断val是否在arr里面

    2、确定第一个参数在数组中的位置, 从0开始计数(如果没有找到则返回 -1 ).

    3、indexOf()返回字符串的首次出现位置,而$.inArray()返回的是传入参数在数组中的位置,同样的,如果找到的,返回的是一个大于或等于0的值,若未找到则返回-1.

    4、例如

     

  • 
    var a = [1, 2, 3, 4];
    $.inArray(2, a);     //有的话返回下标,没有的话返回-1
    
    		
  •  

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐