javascript - 在 for 循环中使用时刻对象
问题描述
我试图循环一个日期范围来创建一个引导标题行的日期。以下是我的代码:-
renderHeader(){
var dates = [];
const start = "2018-11-10";
const end = "2018-11-24";
console.log('Trying to enter the loop');
for(let date = moment(start); date.isSame(end); date.add(1,'d')){
console.log(date.format("Do MMM YYYY"));
console.log(date.isSame(end));
dates.push(<Col>{date.format("Do MMM YYYY")}</Col>);
}
dates.push(<Row>{dates}</Row>);
//dates.push(<Row><Col>Dummy</Col></Row>);
return dates;
}
由于某种原因,控件没有进入循环,我在 Chrome 浏览器上收到一条消息说
在潜在的内存不足崩溃之前暂停
浏览器控制台显示以下输出
如果我删除循环并输入一些虚拟数据,那么一切正常。
解决方案
我认为您不能将其用作迭代器。此外,使用while循环会更容易。
var dates = [];
const start = moment("2018-11-10");
const end = moment("2018-11-24");
while(!start.isSame(end)) {
dates.push(<Col>{start.format("Do MMM YYYY")}</Col>);
start.add(1, 'day');
}
return dates;
与您想做的相同的原则。虽然不是同一日期,但推送到数组并添加新的一天。
推荐阅读
- kotlin - 如何从 Kotlin 中的类外部调用类的私有函数
- lua - Lightroom - LrHttp 未执行
- c++ - 我如何获取一个字符串输入,用每个空格分隔它并将每个单词放入一个数组中,然后对单个单词进行检查?
- python - 检查python中的两个值是否大致相同
- continuous-integration - 需要为 WPF 应用程序创建 CI-CD 管道
- azure - Azure SDK 中的 Azure iot deviceId 验证
- reactjs - 仅执行一次代码时,多次发送谷歌分析请求
- node.js - 使用 Cloud Functions 将图像上传到 Google Storage
- flutter - 如何限制颤动中流的结果计数
- python - 从 Tkinter,我如何将字符串转换为整数以用于潜在的随机密码生成器