在web的前端开发中,我们经常需要对某个对象或者数组,json的对象进行遍历,取得合适的数据。
(1)jquery的$(#id).each()
这个是对js一个对象或者DOM的类进行遍历
$(selector).each(function(index,element))
index:索引,element:当前元素,也可以this。
$('.main').each(function(i){
data[i]=$(this).find("td").attr("data-video");
});
大家可以看到,每一次遍历的时候,都会执行一个函数,同时都会把遍历的索引i参数附带,这个参数可以写,也可以不写,如果要用到希望写,可以用于数组存贮的一个索引。
(2)jquery.each()或者$.each()
$.each()可以对数组,对象进行遍历。
对数组遍历(有附带参数):
$.each(arr , function(i,value){
i:代表数组的索引
value:代表数组的值
p1,p2是附带的参数
},[p1,p2]);
对数组遍历(没有附带参数):
$.each(arr , function(i,value){
i:代表数组的索引
value:代表数组的值
});
遍历对象(附带参数)
$.each(Obj , function(i,value){
i:代表数组的索引
value:代表数组的值
p1,p2是附带的参数
},[p1,p2]);
遍历对象(附带参数)
$.each(Obj , function(i,value){
i:代表数组的索引
value:代表数组的值
});
下面提一下jQuery的each方法的几种常用的用法
Js代码
var arr = ["one", "two", "three", "four"];
$.each(arr,function(){
alert(this);
});
//上面这个each输出的结果分别为:one,two,three,four
var arr1 = [[1, 4, 3], [4, 6, 6], [7, 20, 9]]
$.each(arr1, function(i, item){
alert(item[0]);
});
//其实arr1为一个二维数组,item相当于取每一个一维数组,
//item[0]相对于取每一个一维数组里的第一个值
//所以上面这个each输出分别为:1 4 7
var obj = { one:1, two:2, three:3, four:4};
$.each(obj, function(key, val) {
alert(obj[key]);
});
//这个each就有更厉害了,能循环每一个属性
//输出结果为:1 2 3 4