使用Underscore / Angular返回修改后的对象

时间:2015-05-22 18:54:11

标签: javascript angularjs underscore.js

使用下划线,如何格式化特定值并返回新对象?

例如,我有以下结构:

var myData = [
  {
    'created': '2015-05-19T21:45:23',
    'sales': 200,
  },
  {
    'created': '2015-05-20T21:45:33',
    'sales': 100,
  },
  {
    'created': '2015-05-21T21:45:43',
    'sales': 140,
  },
  {
    'created': '2015-05-23T21:45:43',
    'sales': 200,
  }
];

我想使用角度的日期过滤功能格式化created键/值。如何以正确的格式返回新对象?

当我使用_.each执行某些操作时,它无法正常工作。

_.each(myData, function(k) {
  return $filter('date')(k.created, 'short');
})

我想输出的是:

var myModifiedData = [
  {
    'created': '5/19/15 9:45 PM',
    'sales': 200,
  },
  {
    'created': '5/20/15 9:45 PM',
    'sales': 100,
  },
  {
    'created': '5/21/15 9:45 PM',
    'sales': 140,
  },
  {
    'created': '5/22/15 9:45 PM',
    'sales': 200,
  }
];

1 个答案:

答案 0 :(得分:0)

每个只会迭代数组,但如果你想返回新数组,你可以使用map(ES5中的new):

$scope.newData = myData.map(function(item) {
    return $filter('date')(item.created, 'short');
});