- 在工作中遇到了这样的一个问题
在点击确认之前要判断一下任务中的时间是否相等,有的人会选择去重操作,但是这和别的需求不一样,要提醒用户
得到的数据数组格式是这样的
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")
}
}
}
但是这种方式有缺点,如果我要判断的是时分秒相同时就会改变了原有的数据了。所以还是上面的一种方式好点。