Javascript 如何使用矩.js在数组中循环

Javascript 如何使用矩.js在数组中循环,javascript,momentjs,Javascript,Momentjs,我想使用moment.js isSame函数检查包含几个日期的数组。我是被迫使用forEach循环数组中的所有值,还是有更好的方法 let dates=['170521','260521','200721','090821','041121']; console.log(moment('170521','DDMMYY').isame(moment(dates,'DDMMYY')); console.log(moment('260521','DDMMYY').isame(moment(dates

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

let dates=['170521','260521','200721','090821','041121'];
console.log(moment('170521','DDMMYY').isame(moment(dates,'DDMMYY'));
console.log(moment('260521','DDMMYY').isame(moment(dates,'DDMMYY'))
类似于:

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

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

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

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

强制使用forEach的
?不这取决于你对比赛做了什么-你可以使用
forEach
map
reduce
每个
一些
过滤器
。。。你的目标是什么?试着将第一次约会与安排中的日期进行比较,但比较的目的是什么?您对结果所做的操作将有助于确定应该使用什么方法进行循环。例如,如果只想知道数组中是否有一个日期,可以使用
some
。如果要删除所有不匹配的日期,可以使用
过滤器
。第一个日期是检查它是否匹配其中的任何日期,然后它将执行其他操作。它不会更改或删除数组中的任何内容。只是为了检查是非