【发布时间】:2023-12-12 21:00:01
【问题描述】:
我正在尝试在 forEach 上下文中调用外部变量。由于我使用的是箭头符号,这应该可以解决问题,但变量仍然未定义。
这是我的代码:
transformSlots (slots) {
var array = slots;
var newArray;
array.forEach(element => {
var newElement = {
day: dateFns.getDate(element.slot),
month: dateFns.getMonth(element.slot),
year: dateFns.getYear(element.slot),
hour: dateFns.getHours(element.slot),
numInterview: element.num,
id_users_pending: 0,
id_users_accepted: 0
};
this.newArray.push(newElement);
});
return array;
}
编辑: 如果我把 .this 拿走,结果是完全一样的。
【问题讨论】:
-
将
this.newArray.push(newElement);更改为newArray.push(newElement); -
newArray 仅被声明,但
not assigned any value like empty array。所以。做 newArray.push(newElement);也会出错。开始它应该是var newArray = []然后,newArray.push(newElement);
标签: javascript variables foreach scope this