希希莱娜 2020-04-15 07:57 采纳率: 64.3%
浏览 3939
已采纳

JS循环满足条件后如何停止后续代码的执行

我想往数组里push对象,先开始判断对象是否是空,可以用return直接停止,但是到判断数组中是否存在时,js的循环虽然可以停止,但是始终会执行后面的push操作,请问我该如何停止

dataAdd(thingsId){
    const moneyData = this.moneyData
    if(thingsId===''){
        this.$message.error({
            message:'请选择设备'
        })
        return 
    }
    moneyData.every(item=>{
        if(item.thingsId===thingsId){
            this.$message.error({
                message:'已有此设备'
            }) 
            return false
        }
    }) 
    // return false 只能停止循环,始终会执行虽然将数据push进去的操作,我希望像上面if一样,return回去,不执行后面的语句
        moneyData.push(JSON.parse(JSON.stringify(this.moneyForm)))
        },
  • 写回答

2条回答 默认 最新

  • 简_洋 2020-04-15 09:07
    关注
        var status = true;
        moneyData.every(item=>{
            if(item.thingsId===thingsId){
                this.$message.error({
                    message:'已有此设备'
                }) 
                        status = false;
                return false
            }
        }) 
            if(status){
                    moneyData.push(JSON.parse(JSON.stringify(this.moneyForm)))
            }
    

    你看可否?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog