jquery中object對象循環遍歷的方法


一個朋友問對象如何轉為數組,當我問他為啥要轉得時候,他告訴我,數組可以用js循環遍歷,而對象則不可以。其實呢,對象同樣可以循環遍歷的啊。不用轉換也可以循環!說明你對js或者jquery的某些操作不是很熟練!在這里我簡單介紹一下!

案例

我們看如下對象:

?
1
2
3
4
5
6
7
8
9
var data={
   張三:69,
   李四:72,
   王五:90,
   二麻子:88,
   前端博客:100,
   haorooms : 98,
   王大壯:99
}

假如上面是后台返回的一個key,一個是value的對象(這種對象相信大家經常遇到吧!),現在要把這個內容,循環綁定到一個表格中。有的朋友對對象的循環就不知道怎么操作了!今天我給大家介紹兩個方法!

方法一:

用$.each的方式進行循環!

假如你不知道$.each的話,建議大家網上搜一搜。當然也可以搜索一下“jquery的$().each,$.each的區別”,關於他們的區別,我在這里就不詳細介紹了。可能有的朋友$().each這個方式用的比較多,今天主要給大家介紹$.each。

$.each()可以遍歷數組和對象。方式如下:

?
1
2
3
4
$.each([{“name”:”haorooms”,”email”:”bb@126.com”},{“name”:”qianduan”,”email”:”aa@hao.com”}], function (i,n)
{
alert(“索引:”+i,”對應值為:”+n.name);
});

也可以這么遍歷:

?
1
2
3
4
var arr1 = [ “one”, “two”, “three”, “four”, “five” ];
$.each(arr1, function (){
alert( this );
});

輸出:one   two  three  four   five
最爽的是可以遍歷數組:

var obj =data;//上面復制的data
$.each(obj, function(key, val) {
alert(obj[key]);//可以輸出成績
console.log(key);//可以輸出姓名
});

 

方法二:

用for in循環,可以遍歷obj

對上面的對象,我們可以這么寫來循環!

for(var i in data){
 console.dir(i);//輸出姓名
 console.dir(data[i]);//輸出分數
}

 

for in循環相信大家應該不陌生!for循環我們用到比較多的是for(var i=0;i<array.length;i++)這樣,這個主要是針對數組來循環的。對於對象,我們通常用for in循環!

另外,假如我們遇到如下對象:

?
1
2
3
4
5
6
7
8
9
var data={
   張三:69,
   李四:72,
   王五:90,
   二麻子:88,
   前端博客:100,
   haorooms : 98,
   王大壯:99
}

我們可以用data.haorooms得到98,但是我們用“data.前端博客”會報錯,因此,在我們用漢字做key值的時候,選取的時候應該用data["前端博客"],這種方式來選擇,不要再用點號了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM