angular.js - angular filter 对数组过滤时,排除arr[0]怎么做?

浏览:56日期:2023-01-09

问题描述

js:$scope.arr = [['212','上','下','左','右'],['12','1','2','3','4'],]html:<input type='text' ng-model='text'><tr ng-repeat='dataTr in arr | filter:text'> <td ng-repeat='dataTd in dataTr'> <ng-switch on='$first'><span ng-switch-when='true'>{{index+1}}</span><span ng-switch-default>{{dataTd}}</span> </ng-switch> </td></tr>

二维数组里面的第一列不显示,所以在搜索的时候需要排除arri,如果我输入1,两列都有的,但是我想输入1只显示arr[0],怎么做啊?我将filter写成函数,但是没搞定

问题解答

回答1:

用arr.slice(1, arr.length)

<tr ng-repeat='dataTr in arr.slice(1, arr.length) | filter:text'>

好吧,题看错了,加个map就好

arr.map(function (subArr) { return subArr.slice(1, subArr.length);});

由于angular expression不支持函数声明,你需要把这段写在controller里并重新赋值给$scope.arr

相关文章: