gpt4 book ai didi

javascript - 将 obj 推送到 arr 时函数输出奇怪的结果

转载 作者:行者123 更新时间:2023-11-28 17:13:37 25 4
gpt4 key购买 nike

所以,我有以下功能

function toDays(startDateString, endDateString) {

const startDate = moment(startDateString, 'dddd MMM DD YYYY');
const endDate = moment(endDateString, 'dddd MMM DD YYYY');

const dates = [];

while(startDate.isSameOrBefore(endDate, 'day')) {
const currentDay = startDate.format('dddd');
dates[currentDay].push({start:'9:00', end:'18:00'});
startDate.add(1, 'days');
}

return dates;
}

const result = toDays('Monday Dec 24 2018', 'Friday Dec 28 2018');
console.log(result);

当我使用 dates[currentDay].push({start:'9:00', end:'18:00'}); 时,它返回错误
,我想要实现的是在当前日期推送这些键,就像将对象推送到数组一样。错误是Uncaught TypeError:无法读取未定义的属性“push”
但是,如果我使用日期[当前日期] = {开始:'9:00', 结束:'18:00'};
它工作得很好,但我不确定这是否是正确的方法。有什么想法吗?

最佳答案

首先检查dates[currentDay]是否存在。如果没有,则在推送之前执行“dates[currentDay] = []”。

dates[currentDay] = {start:'9:00', end:'18:00'} 正在工作,因为它直接在该位置分配一个对象,该位置最初是未定义的。

关于javascript - 将 obj 推送到 arr 时函数输出奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53944191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com