角 - 过滤去除阵列空白字符串 [英] Angular - Filter to remove blank strings from array

查看:165
本文介绍了角 - 过滤去除阵列空白字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数组的对象...阵列可以包含空格,如何创建角度滤波器去除空白,以确定数组的长度?

  $ 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

 < D​​IV NG重复=数据myData的>
    < D​​IV NG-秀=(数据| myFilter)。长度大于10>
        如果显示长度大于10
    < / DIV>
    < D​​IV NG-秀=(数据| myFilter)。长度→15>
        如果显示长度大于15
    < / DIV>
< / DIV>

感谢


解决方案

\r
\r

VAR应用= angular.module('应用',[]);\r
app.filter('myFilter',函数(){\r
\r
  返回功能(输入){\r
    变种newInput = [];\r
    angular.forEach(输入功能(项目){\r
      的console.log(项目);\r
      如果(项目=!)newInput.push(项目);\r
    });\r
    返回newInput;\r
  };\r
});\r
\r
\r
app.controller('fCtrl',函数($范围){\r
\r
  $ scope.myData = [\r
    [1,1,4,4,N,4,6,8,,,,,, ,,,,],\r
    [2,2,4,6,0,6,5,4,2,,8,,, ,,,,],\r
    [2,3,,,,,,,,,,,,,, ,,],\r
    [3,F,D,3,5,1,D,5,,,,,, ,,,,],\r
    [1,V,4,4,3,2,1,1,4,,,,, ,,,,],\r
    [4,5,8,6,4,2,8,7,1,1,2,, ,,,,,],\r
    [4,4,R,F,D,8,4,2,4,8,7,4, 8,,,,,],\r
    [D,5,F,,,,,,,,,,,,, ,,],\r
    [1,4,1,3,4,B,D,G,,,,,, ,,,,]\r
  ];\r
\r
\r
\r
\r
});

\r

&LT;脚本SRC =htt​​ps://ajax.googleapis.com/ajax /libs/angularjs/1.2.23/angular.min.js\"></script>\r
\r
&LT; D​​IV NG-应用=应用程序&GT;\r
  &LT; D​​IV NG控制器=fCtrl&GT;\r
\r
    &LT; D​​IV NG重复=数据myData的&GT;\r
      &LT;跨度&GT; {{数据| myFilter}}&LT; / SPAN&GT;\r
      &LT; D​​IV NG-秀=(数据| myFilter)。长度大于10&GT;\r
        如果显示长度大于10\r
      &LT; / DIV&GT;\r
\r
\r
      &LT; D​​IV NG-秀=(数据| myFilter)。长度→15&GT;\r
        如果显示长度大于15\r
      &LT; / DIV&GT;\r
      &LT;小时/&GT;\r
    &LT; / DIV&GT;\r
  &LT; / DIV&GT;\r
&LT; / DIV&GT;

\r

\r
\r

I have an object of arrays... The array can contain blanks, how can i create an ANgular filter to remove the blanks to determine the length of the array?

$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:

<div ng-repeat="data in myData">
    <div ng-show="(data | myFilter).length > 10">
        Show if length greater than 10
    </div>


    <div ng-show="(data | myFilter).length > 15">
        Show if length greater than 15
    </div>
</div>

Thanks

解决方案

var app = angular.module('app', []);
app.filter('myFilter', function() {

  return function(input) {
    var newInput = [];
    angular.forEach(input, function(item) {
      console.log(item);
      if (item != "") newInput.push(item);
    });
    return newInput;
  };
});


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

  $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", "", "", "", "", "", "", "", "", "", ""]
  ];




});

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="app">
  <div ng-controller="fCtrl">

    <div ng-repeat="data in myData ">
      <span>{{data | myFilter }}</span>
      <div ng-show="(data | myFilter).length > 10">
        Show if length greater than 10
      </div>


      <div ng-show="(data | myFilter).length > 15">
        Show if length greater than 15
      </div>
      <hr/>
    </div>
  </div>
</div>

这篇关于角 - 过滤去除阵列空白字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆