this.multipleSelection.forEach((item) => { scope = item if (scope.pointDetailList.length > 0) { let spendPoint = 0 scope.pointDetailList.forEach((i) => { spendPoint = spendPoint + parseFloat(i.spendPoint) }) if (spendPoint > 0) { ids = [] alert(8888) return } else { alert(1233) ids.push(item.id) } } })vue的foreach语句在里面return之后为什么还是会继续循环,直到循环结束为止
时间: 2024-02-10 20:14:32 浏览: 49
这是因为 `forEach` 方法不支持在循环内部使用 `return` 语句来停止循环。`forEach` 方法会一直循环直到处理完所有元素,即使在循环内部使用了 `return` 语句。
如果你想要在循环内部停止循环,可以使用 `for...of` 循环或者使用传统的 `for` 循环。例如,你可以这样重写你的代码:
```
for (const item of this.multipleSelection) {
let scope = item
if (scope.pointDetailList.length > 0) {
let spendPoint = 0
for (const i of scope.pointDetailList) {
spendPoint += parseFloat(i.spendPoint)
}
if (spendPoint > 0) {
ids = []
alert(8888)
break
} else {
alert(1233)
ids.push(item.id)
}
}
}
```
这样,当执行到 `break` 语句时,循环会立刻停止。
阅读全文