gpt4 book ai didi

javascript - "cannot read property ' 在递归函数中推送 ' of undefined",React

转载 作者:行者123 更新时间:2023-12-03 03:46:41 25 4
gpt4 key购买 nike

问题函数:

  filterItemsMonth(items, start, end, arr){
console.log(arr);

if(!start.isAfter(end, "day")) {
console.log(arr);
arr.push(this.filterItemsWeek(items, start, start.add(1, "week")), [])
start.add(1, "week");
this.filterItemsMonth(items, start, end, arr);
}
return arr;
}

正在调用此函数:

  filterItemsWeek(items, start, end, arr){
arr.push((items.filter((item) => {
return start.isSame(moment(item.date_started), "day");
})).sort((a, b) => {
return parseInt(a.time_started) - parseInt(b.time_started);
}));
if(!start.isSame(end, "day")) {
start.add(1, "day");
this.filterItemsWeek(items, start, end, arr);
}
return arr;
}

我对格式感到抱歉,希望代码足够清晰。

下面的函数,filterItemsWeek 工作正常。它获取一个对象数组并根据其日期属性对它们进行排序,仅获取给定一周中的对象并将其放入与一周中的某一天相对应的子数组中。

我想复制相同的功能,但要持续一个月,我认为这可行,但我遇到了麻烦。理想情况下,我在一个月中每周运行一次底部递归函数,因此我有一个星期数组,每个数组包含一周中这一天发生的事件数组。

由于某种原因,我收到控制台错误“无法读取未定义的属性.push”。 console.log 语句显示正确的值(函数传递的空数组 []),但由于某种原因,我的函数认为空数组未定义。

我正在使用 React JS,但我不认为这是 React 问题。 filterItemsWeek 函数工作得很好,并且这两个函数都绑定(bind)到我的组件构造函数。感谢任何帮助,这对我来说真是太棒了!

最佳答案

arr.push(this.filterItemsWeek(items, start, start.add(1, "week")), [])

应该是:

arr.push(this.filterItemsWeek(items, start, start.add(1, "week"), []))

关于javascript - "cannot read property ' 在递归函数中推送 ' of undefined",React,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45360374/

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