-1

我正在尝试使用 lodash 来映射和过滤包含日期的对象数组,例如

[{date: '2020-09-15T04:43:15:2176807-04:00'},{date: '2020-09-15T04:43:15:2176807-04:00'},{date: '2020-09-15T04:43:15:2176807-04:00'}]

我正在努力实现

['09/15', 09/15', '09/15']

我试过了

const formated dates = this.states.data.filter(o => moment(o.date)).format('MM/DD'))

也尝试过这样的事情

const dates = _.map(
 _.filter(o => moment(o.date)).format('MM/DD'))
)

但到目前为止,没有成功。

任何帮助表示赞赏。谢谢

4

1 回答 1

1

这里棘手的部分是解析您的日期,之后,事情变得更容易

2020-09-15T04:43:15:2176807-04:00

YYYY-MM-DDTHH:mm:ss:SSSSSSSZZ

(有关令牌的更多详细信息,请查看文档

const data = [
  { date: "2020-09-15T04:43:15:2176807-04:00" },
  { date: "2020-09-15T04:43:15:2176807-04:00" },
  { date: "2020-09-15T04:43:15:2176807-04:00" },
]

const res = _(data)
  .map("date")
  .map((date) => moment(date, "YYYY-MM-DDTHH:mm:ss:SSSSSSSZZ").format("MM/DD"))
  .value()

console.log(res)
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.20/lodash.min.js"></script>
<script src="https://momentjs.com/downloads/moment.min.js"></script>

于 2020-09-17T18:58:42.830 回答