MEA*_*EAG -1 javascript if-statement
这段代码在我的代码中重复了很多,但是x,当然y还有z变化。有没有更好的办法?
if (x == "hour") {
y = z * 60;
} else if (x == "day") {
y = z * 1440;
} else if (x == "week") {
y = z * 10080;
}
Run Code Online (Sandbox Code Playgroud)
更新..有 store.getters 参与。它们不是普通的变量。
if (this.tempUsersTriggerIntervelIdentifier === "minute") {
this.convertedNewUsersTriggerIntervel =
this.$store.getters.getUsersTriggerTime;
} else if (this.tempDefaultRunIntervelIdentifier == "hour") {
this.convertedNewDefaultRunIntervel =
this.$store.getters.getOrganizationsDefaultTriggerTime * 60;
} else if (this.tempDefaultRunIntervelIdentifier == "day") {
this.convertedNewDefaultRunIntervel =
this.$store.getters.getOrganizationsDefaultTriggerTime * 1440;
} else if (this.tempDefaultRunIntervelIdentifier == "week") {
this.convertedNewDefaultRunIntervel =
this.$store.getters.getOrganizationsDefaultTriggerTime * 10080;
}
Run Code Online (Sandbox Code Playgroud)
我想做最好的练习。
const factors = {
'hour' : 60,
'day' : 1440,
'week' : 10080
};
let y = z * factors[x];
Run Code Online (Sandbox Code Playgroud)
试试这个“地图对象”风格。你可以更换
因素[x]
和
因素.x
但是如果你切换到 ts,它就不是 TypeScript 友好的。
[对更新问题的回答]
你的代码不酷!您检查来自不同对象引用的案例,这些案例不干净且难以掌握。可以干净很多。无论如何,你可以试试这个:
if (this.tempUsersTriggerIntervelIdentifier === "minute") {
this.convertedNewUsersTriggerIntervel = this.$store.getters.getUsersTriggerTime;
} else {
this.convertedNewDefaultRunIntervel =
this.$store.getters.getOrganizationsDefaultTriggerTime *
factors[this.tempDefaultRunIntervelIdentifier];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |