如何在angularjs中使用过滤器

时间:2018-02-23 09:13:23

标签: javascript jquery html angularjs

我有以下数据

var data = [
    {
        "h_id": "31",
        "city": "hill",
    },
    {
        "h_id": "13",
        "city": "Bevery Hills",
    },
    {
        "h_id": "5",
        "city": "New York",
    },
    {
        "h_id": "31",
        "city": "New York",
    },
    {
        "h_id": "5",
        "city": "New York",
    }
];

我正在以这种格式获取数据

var data1 = [
    {
        "h_id": "31",
        "city": "hill",
    }, {
        "h_id": "13",
        "city": "Bevery Hills",
    }, {
        "h_id": "31",
        "city": "New York",
    }
];

我想要这种格式的数据

var data1 = [
    {
        "h_id": "31",
        "city": "hill",
    }, {
        "h_id": "31",
        "city": "Bevery Hills",
    }
];

这是我的angularjs脚本

$scope.data1 = $filter('filter')($scope.data , {h_id:31} )

我希望根据我在上面使用的完全匹配.filter概念对数据进行过滤,而不是基于完全匹​​配进行过滤。

2 个答案:

答案 0 :(得分:1)

使用Array.filter()获取符合特定条件的结果。

var data = [{
  "h_id": "31",
  "city": "hill",
}, {
  "h_id": "13",
  "city": "Bevery Hills",
}, {
  "h_id": "5",
  "city": "New York",
}, {
  "h_id": "31",
  "city": "New York",
}, {
  "h_id": "5",
  "city": "New York",
}];

var newData = data.filter(el => el.h_id==="31");
console.log(newData);

答案 1 :(得分:1)

使用第三个参数进行严格比较:

$scope.data1 = $filter('filter')($scope.data , {h_id:31}, true )

这里有documentation