视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
有哪些方法使用jquery遍历数组和对象
2020-11-27 20:16:15 责编:小采
文档


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 的元素集

<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]);
 }
 }
);
</script>

each
each的使用方法
在jQuery里有一个each方法,用起来非常的爽,不用再像原来那样写for循环,jQuery源码里自己也有很多用到each方法。
其实jQuery里的each方法是通过js里的call方法来实现的。

<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>

inArray
jQuery.isArray(obj) 是 jQuery 1.3 新增。测试对象是否为数组。 返回值:Boolean
参数 : objObject用于测试是否为数组的对象
示例 :检测是否为数组

<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
 function(){
 var anArray = ['one','two','three'];
 var index = $.inArray('two',anArray);
 alert(index);//返回该值在数组中的键值,返回1
 alert(anArray[index]);//value is two
 }
);
</script>

map
map() 把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象。
由于返回值是 jQuery 封装的数组,使用 get() 来处理返回的对象以得到基础的数组。
.map() 方法对于获得或设置元素集的值特别有用。请思考下面这个带有一系列复选框的表单

<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
 function(){
 var 
string
s = ['0','1','2','3','4','S','6'];
 var values = $.map(strings,function(value){
 var result = new Number(value);
 return isNaN(result) ? null:result;//isNaN:is Not a Number的缩写
 }
 );
 for (key in values) {
 alert(values[key]);
 }
 }
);
</script>

遍历json对象:

<script>
var json = [{dd:'SB',AA:'东东',re1:123},{cccc:'dd',lk:'1qw'}];
for(var i=0,l=json.length;i<l;i++){
 for(var key in json[i]){
 alert(key+':'+json[i][key]);
 }
}
</script>

下载本文
显示全文
专题