2013-03-29 61 views
1

我正在使用Angular,但基本上我的控制器有一個從AJAX查詢通過HTTP返回的對象數組,我想用一個函數來裝飾數組中的每個對象,以便在對象上進行布爾屬性的優化,使其呈現作爲是/否,而不是真/假。我不介意使用jQuery或Angular,如果有任何一種方法可以做到這一點。如何將函數添加到JavaScript數組中的所有對象?

+0

[*你嘗試過什麼?*](http://whathaveyoutried.com) – zzzzBov

回答

4

您可以使用each

$.each(myArray, function(index, item) { 
    //do stuff 
}); 
+0

謝謝你,有沒有這樣做的角度呢? – brushleaf

+0

@brushleaf,[你有沒有試過閱讀文檔?](http://docs.angularjs.org/api/angular.forEach) – zzzzBov

+0

不知何故錯過了這個在Angular文檔中,謝謝Z. – brushleaf

1

你可以做這樣的事情:

function prettify(prop){ 
    if(prop) return "Yes" 
    else return "No" 
} 

$.each(arr, function(index, item) { 
    item.myFunction = prettify; 
}); 
1

如果你真的想要一個方法添加到每個對象實例,你可以簡單地EXPANDO他們:

$.each(theArray, function(i, obj) { 
    obj.prettyBool = function() { 
     return obj.theProperty ? 'Yes' : 'No'; 
    }; 
}); 
0

循環遍歷數組,併爲數組中的每個項分配一個事件偵聽器給我帶處理函數。

$.each(myArray, function(index, item) { 
    item.on('event', eventHandlerFunction); 
}); 
相關問題