使用 AngularJS 方式通过对象数组中的属性查找对象

新手上路,请多包涵

我有一个像下面这样的数组

var myArray = [{'id':'73','name':'john'},{'id':'45','name':'Jass'}, etc.]

现在我有一个 id 73 如何从数组中选择这个特定对象。我看到我可以在 jQuery 中使用 grep 轻松地做到这一点有没有任何 角度的方式 来做到这一点?

由于大多数使用 Angular 开发应用程序的用户总是从对象数组(主要是表格)获取数据,因此应该有一个辅助函数吗?

这样我就可以通过更新对象数组来更改具有行 ID 的行数据。

我不想在视图中绑定它。我想操纵数据并使用函数更新数据。

例如。我有一个表列表。如果最终用户编辑表中的一行,我有对象的 ID,所以在最终用户点击保存后,我需要更新数组,然后返回到表列表。

原文由 rram 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 652
2 个回答

你可以使用角度的 filter https://docs.angularjs.org/api/ng/filter/filter

在你的控制器中:

 $filter('filter')(myArray, {'id':73})

或者在你的 HTML 中

{{ myArray | filter : {'id':73} }}

原文由 M B 发布,翻译遵循 CC BY-SA 3.0 许可协议

纯 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"}

原文由 TimoStaudinger 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题