我们知道遍历普通数组可以使用each来操作,如下
var _mozi=['墨家','墨子','墨翟','兼爱非攻','尚同尚贤']; //本文所用到的数组, 下同 $.each(_mozi,function(key,val){ //回调函数有两个参数,第一个是元素索引,第二个为当前值 alert('_mozi数组中 ,索引 : '+key+' 对应的值为: '+val); });
这样会循环输入数组的元素的key和value。当然后我们还可以使用 for..in,each更强壮一点。for..in也可以遍历数组,并返回对应索引,但值是需要通过arrName[key]来获取。
JS数组的遍历方法有两种:
第一种:一般的for循环,例如:
var a = new Array("first", "second", "third") for(var i = 0;i < a.length; i++) { document.write(a[i]+","); }
输出的结果:fitst,second,third
第二种:用for...in 这种遍历的方式,例如:
var arr = new Array("first", "second", "third") for(var item in arr) { document.write(arr[item]+","); }
输出的结果:fitst,second,third
js遍历json数组:
<script type="text/javascript"> var json = {"options":"[{"text":"王家湾","value":"9"},{"text":"李家湾","value":"10"},{"text":"邵家湾","value":"13"}]"} json = eval(json.options) //注:eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则把s语句当做一段代码执行。如果s语句执行结果是一 //个值,则返回此值,否则返回undefined。 for(var i=0; i<json.length; i++) { alert(json[i].text+" " + json[i].value) } </script>
那么jquery怎么实现呢:
<script type="text/javascript"> var d1 =[{"text":"王家湾","value":"9"},{"text":"李家湾","value":"10"},{"text":"邵家湾","value":"13"}]; $(d1).each(function(){ alert(this.text+" "+this.value); }); </script>