AngularJS 过滤器包括负数
AngularJS filter includes negative number
当我用类似数字过滤对象数组时:
$scope.users = [{name:'John', id:-1},
{name:'Mary', id:1},
{name:'Mike', id:2},
{name:'Adam', id:3}];
var selected = $filter('filter')($scope.users, {id: $scope.target});
如果 target = 1,则所选结果将包括 John 和 Mary。但我只希望包含完全相同的 ID,即 ID 为 1 的 Mary。为什么它包括负数?我怎样才能防止这种情况发生?
您可以将过滤器的第三个参数即比较器设置为真
$scope.users = [{name:'John', id:-1},
{name:'Mary', id:1},
{name:'Mike', id:2},
{name:'Adam', id:3}];
var selected = $filter('filter')($scope.users, {id: $scope.target}, true);
true
是 shorthand 用于:
function(actual, expected) {
return angular.equals(actual, expected)
} // This is essentially strict comparison of expected and actual.
当我用类似数字过滤对象数组时:
$scope.users = [{name:'John', id:-1},
{name:'Mary', id:1},
{name:'Mike', id:2},
{name:'Adam', id:3}];
var selected = $filter('filter')($scope.users, {id: $scope.target});
如果 target = 1,则所选结果将包括 John 和 Mary。但我只希望包含完全相同的 ID,即 ID 为 1 的 Mary。为什么它包括负数?我怎样才能防止这种情况发生?
您可以将过滤器的第三个参数即比较器设置为真
$scope.users = [{name:'John', id:-1},
{name:'Mary', id:1},
{name:'Mike', id:2},
{name:'Adam', id:3}];
var selected = $filter('filter')($scope.users, {id: $scope.target}, true);
true
是 shorthand 用于:
function(actual, expected) {
return angular.equals(actual, expected)
} // This is essentially strict comparison of expected and actual.