[英]Find object by its property in array of objects with AngularJS way
我有一個像下面這樣的數組
var myArray = [{'id':'73','name':'john'},{'id':'45','name':'Jass'}, etc.]
現在我有一個id
73 如何從數組中選擇這個特定對象。 我看到我可以在 jQuery 中使用grep輕松地做到這一點有沒有任何角度的方法來做到這一點?
由於大多數用戶使用 angular 開發應用程序總是從對象數組(主要用於表)獲取數據,因此應該有一個輔助函數嗎?
這樣我就可以通過更新對象數組來更改具有行 ID 的行數據。
我不想綁定這個。 我想操作數據並使用函數更新數據。
例如。 我有一個表列表。 如果最終用戶從表中編輯一行,我有對象的 ID,因此在最終用戶點擊保存后,我需要更新數組,然后返回到表列表。
您可以使用 angular 的filter
https://docs.angularjs.org/api/ng/filter/filter
在您的控制器中:
$filter('filter')(myArray, {'id':73})
或在您的 HTML 中
{{ myArray | filter : {'id':73} }}
普通的 JavaScript 怎么樣? 更多關於Array.prototype.filter()
。
var myArray = [{'id': '73', 'name': 'john'}, {'id': '45', 'name': 'Jass'}] var item73 = myArray.filter(function(item) { return item.id === '73'; })[0]; // even nicer with ES6 arrow functions: // var item73 = myArray.filter(i => i.id === '73')[0]; console.log(item73); // {"id": "73", "name": "john"}
對於完整的MB
答案,如果您想訪問已從 HTML 中的數組過濾的此對象的特定屬性,則必須以這種方式進行:
{{ (myArray | filter : {'id':73})[0].name }}
因此,在這種情況下,它將在 HTML 中打印john
。
問候!
對我有用的解決方案如下
$filter('filter')(data, {'id':10})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.