如何使用 moment.js 循环遍历数组

How to use moment.js to cycle through an array

我想使用 moment.js isSame 函数来检查包含几个日期的数组。我是否被迫使用 forEach 循环遍历数组中的所有值,或者有更好的方法吗?

let dates = ['170521', '260521', '200721', '090821', '041121'];
console.log(moment('170521', 'DDMMYY').isSame(moment(dates, 'DDMMYY')));
console.log(moment('260521', 'DDMMYY').isSame(moment(dates, 'DDMMYY')));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

类似于:

dates.forEach(date => {
   if(moment(date).isSame(moment(someConstDate))) {
      // Do something
   }
});

您不必使用 forEach。您甚至不需要使用 moment。如果那是输入数据的格式,那么简单的字符串比较就可以了。

let dates = ['170521', '260521', '200721', '090821', '041121'];

if (dates.includes('170521')) {
// ...
}