Angularjs 角度-从数组中删除空白字符串的过滤器

Angularjs 角度-从数组中删除空白字符串的过滤器,angularjs,angularjs-scope,angularjs-ng-repeat,ng-show,ng-hide,Angularjs,Angularjs Scope,Angularjs Ng Repeat,Ng Show,Ng Hide,我有一个数组对象。。。数组可以包含空格,如何创建角度过滤器来删除空格以确定数组的长度 $scope.myData = { ["1", "1", "4", "4", "N", "4", "6", "8", "", "", "", "", "", "", "", "", "", "", ], ["2", "2", "4", "6", "0", "6", "5", "4", "2", "", "8", "", "", "", "", "", "", "", ], ["2", "

我有一个数组对象。。。数组可以包含空格,如何创建角度过滤器来删除空格以确定数组的长度

$scope.myData = {
    ["1", "1", "4", "4", "N", "4", "6", "8", "", "", "", "", "", "", "", "", "", "", ],
    ["2", "2", "4", "6", "0", "6", "5", "4", "2", "", "8", "", "", "", "", "", "", "", ],
    ["2", "3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ],
    ["3", "F", "D", "3", "5", "1", "D", "5", "", "", "", "", "", "", "", "", "", "", ],
    ["1", "V", "4", "4", "3", "2", "1", "1", "4", "", "", "", "", "", "", "", "", "", ],
    ["4", "5", "8", "6", "4", "2", "8", "7", "1", "1", "2", "", "", "", "", "", "", "", ],
    ["4", "4", "R", "F", "D", "8", "4", "2", "4", "8", "7", "4", "8", "", "", "", "", "", ],
    ["D", "5", "F", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ],
    ["1", "4", "1", "3", "4", "B", "D", "G", "", "", "", "", "", "", "", "", "", "", ]
}
HTML:


如果长度大于10,则显示
如果长度大于15,则显示
谢谢使用此链接

它提供了多种方法来过滤任何格式的所需内容。每个过滤器都有示例。

使用此链接


它为您提供了多种方式来过滤任何格式的所需内容。每个过滤器都有示例。

首先,我想指出,您的JS对象无效

在这种情况下,请使用数组的数组而不是数组的对象

$scope.myData = [
   ["1", "2", "3", "4", "5", "6", "7", "8", "9", "", "", "", "", "", "", "", "", "" ],
   ["1", "2", "3", "4", "5", "6", "7", "8", "", "", "", "", "", "", "", "", "", "" ],
   ["1", "2", "3", "4", "5", "6", "7", "", "", "", "", "", "", "", "", "", "", "" ],
   ["1", "2", "3", "4", "5", "6", "", "", "", "", "", "", "", "", "", "", "", "" ]
];
第二,我创建了过滤器来删除空白项目。< /P>
.filter('removeBlankItems', function() {
    return function(inputArray) {
      var outArray = [];
      for (var i = 0; i < inputArray.length; i++) {
          if(inputArray[i].length != 0){
             outArray.push(inputArray[i]);     
          }
      }
      return outArray;
    };
})
.filter('removeblankeitems',函数(){
返回函数(输入阵列){
var outArray=[];
for(变量i=0;i

这是一个工作示例。

首先我想指出,您的JS对象无效

在这种情况下,请使用数组的数组而不是数组的对象

$scope.myData = [
   ["1", "2", "3", "4", "5", "6", "7", "8", "9", "", "", "", "", "", "", "", "", "" ],
   ["1", "2", "3", "4", "5", "6", "7", "8", "", "", "", "", "", "", "", "", "", "" ],
   ["1", "2", "3", "4", "5", "6", "7", "", "", "", "", "", "", "", "", "", "", "" ],
   ["1", "2", "3", "4", "5", "6", "", "", "", "", "", "", "", "", "", "", "", "" ]
];
第二,我创建了过滤器来删除空白项目。< /P>
.filter('removeBlankItems', function() {
    return function(inputArray) {
      var outArray = [];
      for (var i = 0; i < inputArray.length; i++) {
          if(inputArray[i].length != 0){
             outArray.push(inputArray[i]);     
          }
      }
      return outArray;
    };
})
.filter('removeblankeitems',函数(){
返回函数(输入阵列){
var outArray=[];
for(变量i=0;i
这就是工作示例。

var-app=angular.module('app',[]);
app.filter('myFilter',function(){
返回函数(输入){
var newInput=[];
角度forEach(输入、功能(项目){
控制台日志(项目);
如果(项!=“”)newInput.push(项);
});
返回新的输入;
};
});
应用控制器('fCtrl',功能($scope){
$scope.myData=[
[“1”、“1”、“4”、“4”、“N”、“4”、“6”、“8”、“8”、“8”、“8”、“8”、“8”、“4”、“6”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8,
["2", "2", "4", "6", "0", "6", "5", "4", "2", "", "8", "", "", "", "", "", "", ""],
["2", "3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
[“3”,“F”,“D”,“3”,“5”,“1”,“D”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“,
[“1”、“V”、“4”、“4”、“3”、“2”、“1”、“1”、“4”、“1”、“4”、“1”、“4”、“1”、“4”、“1”、“4”、“1”、“4”、“1”、“4”、“1”、“4”、“4”、“1”、“4”、“4”、“1”、“4”、“4”、“4”、“4”、“4”、“1”、“4”、“4”、“4”、“4”、“4”、“4”、“4”、“4”、“4”、“4”、“4”、“,
["4", "5", "8", "6", "4", "2", "8", "7", "1", "1", "2", "", "", "", "", "", "", ""],
[“4”、“4”、“R”、“F”、“D”、“8”、“4”、“2”、“4”、“8”、“7”、“4”、“8”、“8”、“8”、“8”、“4”、“8”、“8”、“8”、“4”、“8”、“8”、“8”、“4”、“8”、“8”、“8”、“8”、“4”、“8”、“8”、“8”、“8”、“4”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“,
[“D”、“5”、“F”、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、],
[“1”,“4”,“1”,“3”,“4”,“B”,“D”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“
];
});

{{data | myFilter}}
如果长度大于10,则显示
如果长度大于15,则显示

var-app=angular.module('app',[]);
app.filter('myFilter',function(){
返回函数(输入){
var newInput=[];
角度forEach(输入、功能(项目){
控制台日志(项目);
如果(项!=“”)newInput.push(项);
});
返回新的输入;
};
});
应用控制器('fCtrl',功能($scope){
$scope.myData=[
[“1”、“1”、“4”、“4”、“N”、“4”、“6”、“8”、“8”、“8”、“8”、“8”、“8”、“4”、“6”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8,
["2", "2", "4", "6", "0", "6", "5", "4", "2", "", "8", "", "", "", "", "", "", ""],
["2", "3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
[“3”,“F”,“D”,“3”,“5”,“1”,“D”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“5”,“,
[“1”、“V”、“4”、“4”、“3”、“2”、“1”、“1”、“4”、“1”、“4”、“1”、“4”、“1”、“4”、“1”、“4”、“1”、“4”、“1”、“4”、“1”、“4”、“4”、“1”、“4”、“4”、“1”、“4”、“4”、“4”、“4”、“4”、“1”、“4”、“4”、“4”、“4”、“4”、“4”、“4”、“4”、“4”、“4”、“4”、“,
["4", "5", "8", "6", "4", "2", "8", "7", "1", "1", "2", "", "", "", "", "", "", ""],
[“4”、“4”、“R”、“F”、“D”、“8”、“4”、“2”、“4”、“8”、“7”、“4”、“8”、“8”、“8”、“8”、“4”、“8”、“8”、“8”、“4”、“8”、“8”、“8”、“4”、“8”、“8”、“8”、“8”、“4”、“8”、“8”、“8”、“8”、“4”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“8”、“,
[“D”、“5”、“F”、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、],
[“1”,“4”,“1”,“3”,“4”,“B”,“D”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G”,“G
];
});

{{data | myFilter}}
如果长度大于10,则显示
如果长度大于15,则显示


其他答案对我不起作用,也没有针对本例的任何特定功能,但以下内容在我的Angular应用程序中起作用。不需要自定义过滤器

arr = ["", "foo", "bar"];
arr.filter(Boolean);

浏览器兼容性:

其他答案不适用于我,也没有任何针对这种情况的特定功能,但以下内容适用于我的Angular应用程序。不需要自定义过滤器

arr = ["", "foo", "bar"];
arr.filter(Boolean);

浏览器兼容性:

有一个名为“创建自定义过滤器”的部分。阅读它,实现你的过滤器。而且,仅仅为了记录,你的对象是无效的。有一个名为“创建自定义过滤器”的部分。阅读并实现您的筛选器。并且,仅为了记录,您的对象无效。关于如何使用该库执行此操作的示例将是一个更具建设性的答案。关于如何使用该库执行此操作的示例将是一个更具建设性的答案。建议将此代码变小:在
myFilter
的内部,您可以使用angular预先存在的
$filter
来简化此过程<代码>返回$filter('filter')(输入“!”,true)
而不是整个
forEach
等(
'!“
表示一个否定的“匹配空字符串”,最后的
true
参数表示严格的字符串匹配)一个建议是缩小此代码:在
myFilter
内部,您可以使用angular预先存在的
$filter
来简化此操作<代码>返回$filter('filter')(输入“!”,true)
而不是整个
forEach
等(
“!”
表示否定的“匹配空字符串”,最后的
true
参数表示严格字符串