需要家第一个return吗var isError = true app.prototype.forEach(function(item) { if (item.isDifferences == '') { isError = false return } }) if (!isError) { mui.alert("请填写样机核对") return }
时间: 2024-03-05 11:53:13 浏览: 8
在这个代码块中,forEach 中的 return 语句只能跳出 forEach 循环,而不能跳出外层的 if 语句和函数。因此,需要在外层的 if 语句中加一个 return,以便在满足条件时跳出函数。
可以这样修改代码:
```
var isError = true;
app.prototype.forEach(function(item) {
if (item.isDifferences == '') {
isError = false;
return;
}
});
if (!isError) {
mui.alert("请填写样机核对");
return;
}
// 执行其他操作
```
这样,在满足条件时会直接跳出函数,避免执行其他操作。
相关问题
需要加第一个return吗app.prototype.forEach(function(item) { if (item.isDifferences == '') { isError = false return } }) if (!isError) { mui.alert("请填写样机核对") return }
需要在 forEach 循环中加一个 return 是不起作用的,它只能跳出 forEach 循环,而不能跳出外层的 if 语句和函数。如果需要在 forEach 循环中跳出外层的 if 语句和函数,可以考虑使用普通的 for 循环或者 some 方法。
使用普通的 for 循环可以这样写:
```
for (var i = 0; i < app.prototype.length; i++) {
var item = app.prototype[i];
if (item.isDifferences == '') {
isError = false;
break;
}
}
if (!isError) {
mui.alert("请填写样机核对");
return;
}
```
使用 some 方法可以这样写:
```
var isError = app.prototype.some(function(item) {
return item.isDifferences == '';
});
if (!isError) {
mui.alert("请填写样机核对");
return;
}
```
以上两种方法都可以达到跳出外层的 if 语句和函数的效果。
totalPrice:function (){ var totalPrice = 0; this.list.forEach(function(item, index){ if(item.isSelect){ totalPrice += item.count * item.uniPrice; } }); return totalPrice; } }
这段代码中,定义了一个方法totalPrice,用于计算选中商品的总价。在方法中,首先定义了一个变量totalPrice,并将其初始化为0。然后使用forEach方法遍历商品列表(this.list),对于每个选中的商品,将其数量(item.count)乘以单价(item.uniPrice),并加到totalPrice中。最后,返回计算好的总价totalPrice。