Angularjs 使用具有字符串的数组筛选ng repeat

Angularjs 使用具有字符串的数组筛选ng repeat,angularjs,arrays,Angularjs,Arrays,我正在尝试使用具有字符串的数组过滤ng repeat,如何使用多个过滤器或如何使用下面的数组直接过滤 过滤阵列: ["Thu","Fri","Mon","Tue","Wed","Thu","Fri"] 在ng重复时使用的数组: ["Fri, November 18th 2016","Sat, November 19th 2016","Sun, November 20th 2016","Mon, November 21st 2016","Tue, November 22nd 2016","Wed

我正在尝试使用具有字符串的数组过滤
ng repeat
,如何使用多个过滤器或如何使用下面的数组直接过滤

过滤阵列:

["Thu","Fri","Mon","Tue","Wed","Thu","Fri"]
在ng重复时使用的数组:

["Fri, November 18th 2016","Sat, November 19th 2016","Sun, November 20th 2016","Mon, November 21st 2016","Tue, November 22nd 2016","Wed, November 23rd 2016","Thu, November 24th 2016"]
JSP:


为什么不使用您自己的自定义筛选功能来检查列表中的预期天数中是否至少有一天与您的输入值匹配?
我不确定我们是否可以使用内联过滤进行这种处理(使用as条件指定数组和过滤器:至少流和数组的任何元素之间的匹配)

这是一本书

HTML:

<!DOCTYPE html>
<html ng-app="plunker">

  <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <link rel="stylesheet" href="style.css" />
    <script data-require="angular.js@1.5.x" src="https://code.angularjs.org/1.5.8/angular.js" data-semver="1.5.8"></script>
    <script src="app.js"></script>
  </head>

  <body ng-controller="MainCtrl">
    <div class="form-group" ng-repeat="vdates in view | filter : myFilter">
         {{vdates}}
    </div>
  </body>

</html>

安古拉斯普朗克
文件。写(“”);
{{vdates}
JS:

var-app=angular.module('plunker',[]);
应用程序控制器('MainCtrl',函数($scope){
$scope.name='World';
$scope.view=[“2016年11月18日星期五”,“2016年11月19日星期六”,
“2016年11月20日星期日”、“2016年11月21日星期一”,
“2016年11月22日星期二”、“2016年11月23日星期三”,
“2016年11月24日星期四”];
$scope.selecteddays=[“周四”、“周五”、“周一”、“周二”、“周三”、“周四”、“周五”];
$scope.myFilter=函数(值){
如果(!value){return false}
对于(变量i=0;i<$scope.selecteddays.length;i++){
currentAcceptedDay=$scope.selecteddays[i];
if(value.indexOf(currentAcceptedDay)!=-1){
返回true;
}
}
返回false;
}
});

为什么不使用您自己的自定义筛选功能来检查列表中的预期天数中是否至少有一天与您的输入值匹配?
我不确定我们是否可以使用内联过滤进行这种处理(使用as条件指定数组和过滤器:至少流和数组的任何元素之间的匹配)

这是一本书

HTML:

<!DOCTYPE html>
<html ng-app="plunker">

  <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <link rel="stylesheet" href="style.css" />
    <script data-require="angular.js@1.5.x" src="https://code.angularjs.org/1.5.8/angular.js" data-semver="1.5.8"></script>
    <script src="app.js"></script>
  </head>

  <body ng-controller="MainCtrl">
    <div class="form-group" ng-repeat="vdates in view | filter : myFilter">
         {{vdates}}
    </div>
  </body>

</html>

安古拉斯普朗克
文件。写(“”);
{{vdates}
JS:

var-app=angular.module('plunker',[]);
应用程序控制器('MainCtrl',函数($scope){
$scope.name='World';
$scope.view=[“2016年11月18日星期五”,“2016年11月19日星期六”,
“2016年11月20日星期日”、“2016年11月21日星期一”,
“2016年11月22日星期二”、“2016年11月23日星期三”,
“2016年11月24日星期四”];
$scope.selecteddays=[“周四”、“周五”、“周一”、“周二”、“周三”、“周四”、“周五”];
$scope.myFilter=函数(值){
如果(!value){return false}
对于(变量i=0;i<$scope.selecteddays.length;i++){
currentAcceptedDay=$scope.selecteddays[i];
if(value.indexOf(currentAcceptedDay)!=-1){
返回true;
}
}
返回false;
}
});

问题出在哪里?您没有问任何问题,也没有清楚地说您想要什么。我清楚地要求过滤ng repeat,数组中有字符串,第一个数组用于过滤,第二个数组用于使用ng repeat迭代数据问题是什么?您没有问任何问题或清楚地说您想要什么?我清楚地要求使用带有字符串的数组过滤ng repeat,第一个数组用于过滤,第二个数组用于使用ng repeat迭代数据
var app = angular.module('plunker', []);

    app.controller('MainCtrl', function($scope) {

      $scope.name = 'World';
      $scope.view = ["Fri, November 18th 2016","Sat, November 19th 2016",
                     "Sun, November 20th 2016","Mon, November 21st 2016",
                     "Tue, November 22nd 2016","Wed, November 23rd 2016",
                     "Thu, November 24th 2016" ];

      $scope.selecteddays=["Thu","Fri","Mon","Tue","Wed","Thu","Fri"];

      $scope.myFilter = function(value) {

            if (!value){return false}

            for (var i = 0; i < $scope.selecteddays.length; i++) {
                currentAcceptedDay = $scope.selecteddays[i];
                 if (value.indexOf(currentAcceptedDay) != -1) {                        
                    return true;
                }
            }
            return false;
        }
    });