我有这么大的
$scope.arrVaritions = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[1, 4, 7],
[2, 5, 8],
[3, 6, 9],
[1, 5, 9],
[3, 5, 7]
];
如何在此数组中找到元素索引?我使用此代码,但它不起作用:
$scope.elementId = 1;
$filter('filter')($scope.arrVaritions, { $scope.elementId });
答案 0 :(得分:2)
尝试以正确的方式过滤它,就像在此demo fiddle:
中一样<div ng-controller="MyCtrl">
{{filtered}}
</div>
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', function ($scope, $filter) {
$scope.arrVaritions = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[1, 4, 7],
[2, 5, 8],
[3, 6, 9],
[1, 5, 9],
[3, 5, 7]
];
$scope.elementId = 1;
$scope.filtered = $filter('filter')($scope.arrVaritions, $scope.elementId, true);
});
如果您想过滤不是确切的值,只需删除第3个true
选项:
$scope.filtered = $filter('filter')($scope.arrVaritions, $scope.elementId);
答案 1 :(得分:1)
它应该只有$scope.elementId
而不是对象,第三个选项true
才能匹配精确值。如果true
考虑elementId
,10
,11
等等,则会在没有100
的情况下进行评估(它会包含检查)。
$filter('filter')($scope.arrVaritions, $scope.elementId, true);