判断数组中多个对象中属性值是否相同

勾选表格的数据,如果数据状态不一致,不允许提交

这里方法里的options是一个数组,数组中有多个对象,现在只有(属性值)状态为0,1时才能提交,每条数据的状态值会是没有确定值的,有可能是0,是1,可能是2,是3

    handleChangeSelect (options) {
      let obj = {}
      options.forEach(item => {
        // 将值作为对象的key(属性),如果值相同就添加到对象的属性的数组中,如果有obj有两个或以上的key,说明对象中的状态不同!
        let key = item.czCode
        if (obj[key] && obj[key].length) {
          obj[key].push(item)
        } else {
          obj[key] = [item]
        }
      })
        // 这里是判断是let obj是否有值,如果第一项都没有就不允许提交
      if (Object.keys(obj)[0]) {
        // 状态为0,1时才能提交
        if (['0', '1'].includes(Object.keys(obj)[0])) {
            // 判断是否超过一种状态,这里我们只需要提交相同状态的,所以长度不能大于1 (没有大于1证明都是相同的状态!)
          if (Object.keys(obj).length > 1) {
            this.errorFlay = true
            Message.error('存在多种处理状态信号,请重新选择!')
          } else {
        // 符合条件时将数据整理后台需要的格式
            this.errorFlay = false
            this.sendList = options.map((item) => {
              return {
                id: item.id,
                ventureType: item.ventureType
              }
            })
          }
        }
        else {
          Message.error('请选择符合下发条件的数据提交!')
        }
      }
      else {
        this.errorFlay = true
      }

    },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值