一個朋友問對象如何轉為數組,當我問他為啥要轉得時候,他告訴我,數組可以用js循環遍歷,而對象則不可以。其實呢,對象同樣可以循環遍歷的啊。不用轉換也可以循環!說明你對js或者jquery的某些操作不是很熟練!在這里我簡單介紹一下!
案例
我們看如下對象:
var data={ 張三:69, 李四:72, 王五:90, 二麻子:88, 前端博客:100, haorooms : 98, 王大壯:99 }
假如上面是后臺返回的一個key,一個是value的對象(這種對象相信大家經常遇到吧!),現在要把這個內容,循環綁定到一個表格中。有的朋友對對象的循環就不知道怎么操作了!今天我給大家介紹兩個方法!
方法一:
用$.each的方式進行循環!
假如你不知道$.each的話,建議大家網上搜一搜。當然也可以搜索一下“jquery的$().each,$.each的區別”,關于他們的區別,我在這里就不詳細介紹了。可能有的朋友$().each這個方式用的比較多,今天主要給大家介紹$.each。
$.each()可以遍歷數組和對象。方式如下:
$.each([{“name”:”haorooms”,”email”:”bb@126.com”},{“name”:”qianduan”,”email”:”aa@hao.com”}],function(i,n) { alert(“索引:”+i,”對應值為:”+n.name); });
也可以這么遍歷:
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循環!
另外,假如我們遇到如下對象:
var data={ 張三:69, 李四:72, 王五:90, 二麻子:88, 前端博客:100, haorooms : 98, 王大壯:99 }
我們可以用data.haorooms得到98,但是我們用“data.前端博客”會報錯,因此,在我們用漢字做key值的時候,選取的時候應該用data["前端博客"],這種方式來選擇,不要再用點號了。
以上就是jquery中object對象循環遍歷的方法,希望對大家的學習有所幫助。