Angular JS-фильтр равен

Пожалуйста, просмотрите детали. Почему результат неправильный?

HTML:

<div ng-app>
    <div ng-controller="TodoCtrl">
         <h1>List</h1>

        <div ng-repeat="t in todos | filter:{ id: '-1'}">{{t.text}}</div>
    </div>
</div>

Angular код:

function TodoCtrl($scope) {
    $scope.todos = [{
        text: 'learn angular',
        done: true,
        id: -1
    },{
        text: 'learn angular 2',
        done: true,
        id: -11
    }, {
        text: 'build an angular app',
        done: false,
        id: 1
    }];
}

Вывод:

learn angular
learn angular 2

Пожалуйста, смотрите:

filter: {id: '-1'}

Почему вывод включает в себя:

learn angular 2

Я хочу найти id -1, но learn angular 2 есть -11

Ответ 1

Удалите кавычки с '-1' и отправьте true в фильтр, чтобы выполнить строгий сопоставление.

ng-repeat="t in todos | filter:{ id: -1}:true"

Ответ 2

о и я хочу найти -1 и 1 что мне делать