日期格式的Javascript Foreach打印相同的日期

时间:2019-02-28 07:55:34

标签: javascript arrays string ecmascript-6 momentjs

大家好,

我正在尝试使用moment.js从我的api转换日期,从我的api中,我有这种示例集合

我的所有日​​期都和2019-12-13一样。

注意:由于我的其他代码工作正常,因此此问题暂时不会出现。只是forEach,但我不知道是什么引起了问题。

const response = {
  data: [{
      'from': '2019-12-31T00:00:00',
      'to': '2020-12-31T00:00:00'
    },
    {
      'from': '2021-12-31T00:00:00',
      'to': '2022-12-31T00:00:00'
    },
    {
      'from': '2023-12-31T00:00:00',
      'to': '2024-12-31T00:00:00'
    }
  ]
}



response.data.forEach((d) => {
  d.from = moment(response.data.from).format("YYYY-MM-DD")
  d.to = moment(response.data.to).format("YYYY-MM-DD")
})

console.log(response.data)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>

1 个答案:

答案 0 :(得分:1)

您没有在d循环中使用forEach-使用d.tod.from而不是response.data.toresponse.data.from

response.data.forEach((d)=>{
   d.from = moment(d.from).format("YYYY-MM-DD")
   d.to= moment(d.to).format("YYYY-MM-DD")
});