美文网首页
判断数组对象中是否存在有重复值

判断数组对象中是否存在有重复值

作者: 凌熙溪 | 来源:发表于2020-12-04 14:40 被阅读0次
    • 在工作中遇到了这样的一个问题
    image

    在点击确认之前要判断一下任务中的时间是否相等,有的人会选择去重操作,但是这和别的需求不一样,要提醒用户

    得到的数据数组格式是这样的

    dataSampling: [{
              beginTime: '2020-12-02 20:22',
              repeatable: 0,
              enabled: 0
            }, {
              beginTime: '2020-12-02 20:22',
              repeatable: 1,
              enabled: 1
            }]
    

    下面是判断的方法,用vue开发的

    const beginTime = this.dataSampling.map(value => value.beginTime);
    
              const beginTimeSet = new Set(beginTime);
    
              if (beginTimeSet.size != beginTime.length) {
    
                this.$message({
    
                  message: '任务中时间有重复!',
    
                  type: 'warning'
    
                });
    
                return false;
    
              }
    

    还有另种方式

     for (i = 0; i < this.dataSampling.length - 1; i++) {
                for (j = i + 1; j < this.dataSampling.length; j++) {
                  console.log(this.dataSampling[i].beginTime, this.dataSampling[j].beginTime)
                  if (this.dataSampling[i].beginTime == this.dataSampling[j].beginTime) {
                    this.$message({
                      message: '任务中时间有重复!',
                      type: 'warning'
                    });
                    console.log("if")
                    return false;
                  } else {
                    console.log("else")
                  }
                }
              }
    

    但是这种方式有缺点,如果我要判断的是时分秒相同时就会改变了原有的数据了。所以还是上面的一种方式好点。

    相关文章

      网友评论

          本文标题:判断数组对象中是否存在有重复值

          本文链接:https://www.haomeiwen.com/subject/qncmwktx.html