jquery 中的几个函数方法

1.$.map(data,function(item,index){return XXX})处理每一个元素的函数。第一个参数是数组元素,第二个参数是该元素的索引值。

遍历data数组中的每个元素,并按照return中的计算方式 形成一个新的元素,放入返回的数组中

eg1:

var b = $.map( [55,1,2], function( item,index ) { 
     return { 
         "label": item,  
          "value": index  
        }
    });                  

b=[{'label':'55','value':0},{'label':'1','value':1},{'label':'2','value':2}]

eg2:

var array = [0, 1, 52, 97];  
array = $.map(array, function(a, index) {  
  return [a - 45, index];  
});   
//输出为:   
//[-45, 0, -44, 1, 7, 2, 52, 3] 

2.$.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 的元素集。
var arr=$.grep([0,1,2,3,4,5,6],function(n,i){
return n>2
});
上面的例子返回[3,4,5,6],但是我们给invert的值为true,例如
var arr=$.grep([0,1,2,3,4,5,6],function(n,i){
return n>2
},ture);
所以现在返回的是[0,1,2],也就是被callback函数过滤掉的元素。
3:

$.inArray()方法类似于JavaScript的原生.indexOf()方法,没有找到匹配元素时它返回-1。如果数组第一个元素在匹配value ,$.inArray()返回0。

因为JavaScript将0视为false(即 0 == false, 但是 0 !== false),如果我们检查在array中存在value,我们只需要检查它是否不等于(或大于)-1。

posted @ 2016-11-09 16:59  小猪冒泡  阅读(271)  评论(0编辑  收藏  举报