过滤并删除json数组中的键值

时间:2016-12-20 07:33:19

标签: angularjs

使用过滤器生成了一个json数组。

orders = filterFilter(vm.gridOptions.data, {
                                sampleId: 295
                        });

在这里我过滤了我的订单数组,我得到了这个。

{
  "orders": [
    {
      "orderId": 51491,
      "orderDate": "2016-12-19T13:35:39",
      "regId": 1354,
      "sampleId": 295,
      "name": "Test",
      "nameAr": "Test"
    },
    {
      "orderId": 51493,
      "orderDate": "2016-12-19T13:35:39",
      "regId": 1354,
      "sampleId": 295,
      "name": "Test",
      "nameAr": "Test",

    }
  ]
}

我可以过滤,它应该只在orders数组中保留一个字段。 使用角度滤波器我需要这样做。

我需要这样的数组。

{
  "orders": [
    {
      "orderId": 51491
    },
    {
      "orderId": 51493
    }
  ]
}

2 个答案:

答案 0 :(得分:5)

当您需要将对象转换为另一个对象时,请使用Array.map()方法。 您可以将它与Array.filter()方法一起使用来过滤结果。

Test obj = new Test();

上面的函数返回一个只包含orderId属性的对象数组,而sampleId等于295。

答案 1 :(得分:1)

或者,您可以遍历orders以生成具有orderIds的对象数组。像这样,

$scope.orderIDs = [];
angular.forEach($scope.orders, function(order){
    $scope.orderIDs.push({
        "orderId": order.orderId
    })
});