Ответ 1
вы можете использовать угловой filter
https://docs.angularjs.org/api/ng/filter/filter
в вашем контроллере:
$filter('filter')(myArray, {'id':73})
или в вашем HTML
{{ myArray | filter : {'id':73} }}
У меня есть массив, как показано ниже
var myArray = [{'id':'73','name':'john'},{'id':'45','name':'Jass'}, etc.]
Теперь у меня есть id
73, как выбрать этот конкретный объект из массива. Я вижу, что я могу сделать это в jQuery легко с grep. Есть ли какой-нибудь угловой способ сделать это?
Поскольку большинство приложений для разработки приложений с угловыми всегда получают данные из массива объектов (в основном для таблицы), для этого должна быть вспомогательная функция?
Чтобы я мог изменять данные строки с идентификатором строки, обновляя массив объекта.
Я не хочу это связывать. Я хочу манипулировать данными и обновлять данные с помощью функции.
Например. У меня есть список таблиц. Если конечный пользователь отредактирует строку из таблицы, у меня есть идентификатор объекта, поэтому после того, как конечный пользователь ударил save, мне нужно обновить массив, а затем вернуться к списку таблиц.
вы можете использовать угловой 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 }}
Таким образом, в этом случае он будет печатать john
в HTML.
С уважением!
Эффект, который работает для меня, следующий
$filter('filter')(data, {'id':10})