var app = angular.module('app', []); app.filter('startsWithLetter', function () { return function (items, letter) { var filtered = []; var letterMatch = new RegExp(letter, 'i'); for (var i = 0; i < items.length; i++) { var item = items[i]; if (letterMatch.test(item.name.substring(0, 1))) { filtered.push(item); } } return filtered; }; }); app.controller('PersonCtrl', function () { this.friends = [{ name: 'Andrew' }, { name: 'Will' }, { name: 'Mark' }, { name: 'Alice' }, { name: 'Todd' }]; });
<div ng-app="app"> <div ng-controller="PersonCtrl as person"> <input type="text" ng-model="letter" placeholder="Enter a letter to filter"> <ul> <li ng-repeat="friend in person.friends | startsWithLetter:letter"> {{ friend }} </li> </ul> </div> </div>