函数里循环怎么return

我想在用户提交的时候校验用户输入的数据是否正确

img


我想要验证我框住的数据,数据格式是一个数组,框住的是一个对象
所以我就在提交的时候循环这个数组验证每一个数据

img

img

综上 我的验证没有生效 该怎么改啊

forEach换成every

return this.sendMsgList.every(item => {
    if(!item.sendTime){
        this.message.xxx
        return false
    }
    return true
})

forEach函数中return不会生效。可以用一个布尔值来判断,然后再返回布尔值

我之前写过一篇博客: https://tiven.cn/p/6195dbbd/ 有详细介绍怎么终止跳出循环。

其中有说明,forEach 和 map 不能终止循环,你这里把 forEach 循环 改成 for 循环,需要终止的时候 return false。

return 用于返回函数的返回值,因此 return 语句只能出现在函数体内,否则会报错:Uncaught SyntaxError: Illegal return statement 。

使用特点:

  • 只能用在 function 函数体内
  • 在 for、do/while、while、for/in、for/of 中会退出循环,类似 break 的效果
  • 在 forEach、map 遍历中,只跳过当前循环,会继续下次迭代,类型 continue 的效果

你这个 永远都是 true 。类似这样

  function s() {
        return arr.every((item) => {
            if(item.id==1){
                return false
            }
           
        });
    }

这几个地方需要返回一个false,不然没有返回值啊

img