Merge pull request #18 from x3388638/patch-getTime

Adjust getTime & isOK logic
This commit is contained in:
snsd0805 2021-01-24 23:17:29 +08:00 committed by GitHub
commit db020f765f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 40 deletions

View File

@ -8,35 +8,25 @@ var coursesList = {
}, },
methods: { methods: {
'getTime': function (timeString) { 'getTime': function (timeString) {
if (timeString == null) { let num;
return "" const timeRegex = new RegExp(/^\d[\da-z]*[a-z]$/);
} return timeRegex.test(timeString)
? [...timeString].reduce((res, c) => {
ans = [] if (Number.isInteger(+c)) {
number = "" num = c;
for (var i of timeString) { return res;
if (i >= "0" && i <= "9") { } else {
number = i return [...res, num + c];
} else if (i >= "a" && i <= "z") { }
ans.push(number + i) }, [])
} : [];
else {
ans.push(timeString)
break
}
}
return ans
}, },
'isOK': function (course) { 'isOK': function (course) {
var time = this.getTime(course.time) var time = this.getTime(course.time)
// console.log(course.name, " ", time) // console.log(course.name, " ", time)
for (t of time) { const isConflict = time.some((t) => this.selectedTime.includes(t))
for (st of this.selectedTime) {
if (t == st) return time.length && !isConflict
return false
}
}
return true
}, },
'log': function (name, data) { 'log': function (name, data) {
console.log(name, data) console.log(name, data)

View File

@ -134,20 +134,18 @@ var mainWindow = {
} }
}, },
'getTime': function (timeString) { 'getTime': function (timeString) {
ans = [] let num;
number = "" const timeRegex = new RegExp(/^\d[\da-z]*[a-z]$/);
for (var i of timeString) { return timeRegex.test(timeString)
if (i >= "0" && i <= "9") { ? [...timeString].reduce((res, c) => {
number = i if (Number.isInteger(+c)) {
} else if (i >= "a" && i <= "z") { num = c;
ans.push(number + i) return res;
} } else {
else { return [...res, num + c];
ans.push(timeString) }
break }, [])
} : [];
}
return ans
}, },
'select': function (department) { 'select': function (department) {
this.selectDepartment = department this.selectDepartment = department