rra*_*ram 44 javascript arrays angularjs
我有一个像下面的数组
var myArray = [{'id':'73','name':'john'},{'id':'45','name':'Jass'}, etc.]
Run Code Online (Sandbox Code Playgroud)
现在我有id
73如何从数组中选择这个特定的对象.我看到我可以使用grep轻松地在jQuery中执行此操作是否有任何有角度的方式来执行此操作?
由于大多数用户开发具有角度的应用程序始终从对象数组(主要是表格)获取数据,因此应该有一个辅助函数吗?
这样我就可以通过更新对象数组来更改行的数据和行的ID.
我不想在视图中绑定它.我想操纵数据并使用函数更新数据.
例如.我有一个表格列表.如果最终用户从表中编辑一行我有对象的ID,那么在最终用户点击保存后,我需要更新数组然后再返回表列表.
M B*_*M B 72
你可以使用angular的filter
https://docs.angularjs.org/api/ng/filter/filter
在你的控制器中:
$filter('filter')(myArray, {'id':73})
Run Code Online (Sandbox Code Playgroud)
或在您的HTML中
{{ myArray | filter : {'id':73} }}
Run Code Online (Sandbox Code Playgroud)
Tim*_*imo 41
简单的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"}
Run Code Online (Sandbox Code Playgroud)
为了获得完整的M B
答案,如果您想访问已经从HTML数组中过滤掉的该对象的特定属性,则必须采用以下方式:
{{ (myArray | filter : {'id':73})[0].name }}
因此,在这种情况下,它将john
以HTML格式打印。
问候!