[javascript] In Angular, I need to search objects in an array

In Angular, I have in scope a object which returns lots of objects. Each has an ID (this is stored in a flat file so no DB, and I seem to not be able to user ng-resource)

In my controller:

$scope.fish = [
    {category:'freshwater', id:'1', name: 'trout', more:'false'},
    {category:'freshwater', id:'2', name:'bass', more:'false'}

In my view I have additional information about the fish hidden by default with the ng-show more, but when I click the simple show more tab, I would like to call the function showdetails(fish.fish_id). My function would look something like:

$scope.showdetails = function(fish_id) {  
    var fish = $scope.fish.get({id: fish_id});
    fish.more = true;

Now in the the view the more details shows up. However after searching through the documentation I can't figure out how to search that fish array.

So how do I query the array? And in console how do I call debugger so that I have the $scope object to play with?

This question is related to javascript angularjs

The answer is

You can use the existing $filter service. I updated the fiddle above http://jsfiddle.net/gbW8Z/12/

 $scope.showdetails = function(fish_id) {
     var found = $filter('filter')($scope.fish, {id: fish_id}, true);
     if (found.length) {
         $scope.selected = JSON.stringify(found[0]);
     } else {
         $scope.selected = 'Not found';

Angular documentation is here http://docs.angularjs.org/api/ng.filter:filter

Similar questions with javascript tag:

Similar questions with angularjs tag: