Javascript ';对于';循环仅打印数组的第一个元素
我有一个问题,我想通过一个for循环遍历一个数组,但由于某种原因,循环没有遍历它,只是到处打印数组的第一个元素 以下是我的日期数组:Javascript ';对于';循环仅打印数组的第一个元素,javascript,typescript,Javascript,Typescript,我有一个问题,我想通过一个for循环遍历一个数组,但由于某种原因,循环没有遍历它,只是到处打印数组的第一个元素 以下是我的日期数组: readonly days: WeekDayName[] = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; 我的功能就是它现在的样子: get dayName() { for (const { item, index } of this.day
readonly days: WeekDayName[] = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
我的功能就是它现在的样子:
get dayName() {
for (const { item, index } of this.days.map((item, index) => ({ item, index }))) {
return (item);
}
}
如何解决不只是到处打印第一个项目的问题?您在一次迭代后返回项目。您应该做的是创建一个空数组/映射,并且在每次迭代中您都可以将该项添加到其中。然后返回该数组。return语句使您脱离循环。如果要使用在for循环中迭代的项,只需存储在全局变量中。 并使用break语句脱离循环 同样重要的是要注意,返回也会使您脱离嵌套循环
详细检查返回vs中断Getter函数无法返回迭代值。您只需在getter的结果中获得一个元素。如何?不要使用
return
return
立即终止函数,因此for..of
在进行完整迭代之前就结束了。这并不提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论-