有些时候咱们在作联动事件以及获取动态的数据是,给到咱们的都是数组,json格式的数据。javascript
为了方便快速的处理这些数据,jq给咱们提供了不少简便的方法。java
each()方法jquery
在jQuery里有一个each方法,用起来很是的爽,不用再像原来那样写for循环,jQuery源码里本身也有不少用到each方法。json
<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>
处理数据还有不少其余的方法,只不过这两个是比较经常使用的,效果比较好的。函数