AngularJS Filter By Object Attribute

http://stackoverflow.com/questions/25696233/angularjs-filter-collection-by-child

HTML

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.js"></script>
<div>Filter by name only: <input type="text" ng-model="search" /></div>
    
<ul>
    <li ng-repeat="person in people[1] | nameFilter:search">{{person.boy.name}}</li>
</ul>

JavaScript

var myapp = angular.module('myapp', []);
myapp.controller('AppController', function ($scope) {
    $scope.people = [
    {
        "0":{  
            "boy":{  
                "age":"32",
                "name":"Daniel Grey"
            }
         },
         "1":{  
            "boy":{  
                "age":"23",
                "name":"John Doe"
             }
         } },
         {
         "a":{
         			"boy":{
              			"age":"32",
                    "name":"vicky"
                }
           }
              
         
    }]
});

myapp.filter('nameFilter', function(){
    return function(objects, criteria){
        var filterResult = new Array();
        if(!criteria)
            return objects;
       
        for(index in objects) {
            if(objects[index].boy.name.indexOf(criteria) != -1)
                filterResult.push(objects[index]);
        }
        console.log(filterResult);
        return filterResult;  
    }    
});