最近一直在写前端,发现用jquery的each一样可以取map,且顺序和map中顺序一致。
var js = {
map:{
班级:["一班","二班","三班"],
人员:["50人","60人","70人"]
},
arrayList :{
one:1,
two:2,
three:3
},
//遍历Map
jsOne : function(){
$.each(js.map,function(key,values){
console.log(key);
$(values).each(function(){
console.log("\t"+this);
});
});
},
//遍历数组
jsTwo : function(){
$.each(js.arrayList,function(key,values){
console.log(key);
console.log(values);
});
},
//过滤数组 筛选出大于5的 用grep方法
jsThree : function(){
var array = [1,2,3,4,5,6,7,8,9];
var filterarray = $.grep(array,function(value){
return value > 5;
});
for(var i=0;i<filterarray.length;i++){
console.log(filterarray[i]);
}
for (key in filterarray){
console.log(filterarray[key]);
}
},
//返回该值在数组中的键值 和 value值
jsFour : function(){
var anArray = ['one','two','three'];
var index = $.inArray('two',anArray);
console.log(index);//返回1
console.log(anArray[index]);//value 为two
},
//json遍历
jsFive : function(){
var json = [{aa:'aa'},{bb:'bb'}];
for(var i=0,l=json.length;i<l;i++){
for(var key in json[i]){
console.log(key+':'+json[i][key]);
}
}
}
}
注意:jquery中的$().each和$.each的区别,前者只能遍历数组,后者可以遍历数组和对象