[英]i can't optimize this piece of code javascript
我想优化这个,但我不知道如何。 我尝试使用“for”,但我不能。 有什么功能可以缩小这个吗? 抱歉,如果回复很简单,我是编码新手。
if (avis1 == 1) {
avis1Phrase = 'Très insatisfait';
}
if (avis1 == 2) {
avis1Phrase = 'Insatisfait';
}
if (avis1 == 3) {
avis1Phrase = 'Moyen';
}
if (avis1 == 4) {
avis1Phrase = 'Satisfait';
}
if (avis1 == 5) {
avis1Phrase = 'Très satisfait';
}
if (avis2 == 1) {
avis2Phrase = 'Très insatisfait';
}
if (avis2 == 2) {
avis2Phrase = 'Insatisfait';
}
if (avis2 == 3) {
avis2Phrase = 'Moyen';
}
if (avis2 == 4) {
avis2Phrase = 'Satisfait';
}
if (avis2 == 5) {
avis2Phrase = 'Très satisfait';
}
if (avis3 == 1) {
avis3Phrase = 'Très insatisfait';
}
if (avis3 == 2) {
avis3Phrase = 'Insatisfait';
}
if (avis3 == 3) {
avis3Phrase = 'Moyen';
}
if (avis3 == 4) {
avis3Phrase = 'Satisfait';
}
if (avis3 == 5) {
avis3Phrase = 'Très satisfait';
}
if (avis4 == 1) {
avis4Phrase = 'Très insatisfait';
}
if (avis4 == 2) {
avis4Phrase = 'Insatisfait';
}
if (avis4 == 3) {
avis4Phrase = 'Moyen';
}
if (avis4 == 4) {
avis4Phrase = 'Satisfait';
}
if (avis4 == 5) {
avis4Phrase = 'Très satisfait';
}
if (avis5 == 1) {
avis5Phrase = 'Très insatisfait';
}
if (avis5 == 2) {
avis5Phrase = 'Insatisfait';
}
if (avis5 == 3) {
avis5Phrase = 'Moyen';
}
if (avis5 == 4) {
avis5Phrase = 'Satisfait';
}
if (avis5 == 5) {
avis5Phrase = 'Très satisfait';
}
if (avis6 == 1) {
avis6Phrase = 'Très insatisfait';
}
if (avis6 == 2) {
avis6Phrase = 'Insatisfait';
}
if (avis6 == 3) {
avis6Phrase = 'Moyen';
}
if (avis6 == 4) {
avis6Phrase = 'Satisfait';
}
if (avis6 == 5) {
avis6Phrase = 'Très satisfait';
}
if (avisGeneral == 1) {
avisGeneralPhrase = 'Très insatisfait';
}
if (avisGeneral == 2) {
avisGeneralPhrase = 'Insatisfait';
}
if (avisGeneral == 3) {
avisGeneralPhrase = 'Moyen';
}
if (avisGeneral == 4) {
avisGeneralPhrase = 'Satisfait';
}
if (avisGeneral == 5) {
avisGeneralPhrase = 'Très satisfait';
}
使用数组应该会有很大帮助。 代码示例(不完整):
var avis1 = 5; var phrases = ['Très insatisfait', 'Insatisfait', 'Moyen', 'Satisfait', 'Très satisfait']; var avis1Phrase = phrases[avis1 - 1]; // javascript arrays always start at [0] console.log(avis1Phrase);
也许您可以将值从 0 更改为 4 而不是 1 到 5 并使用如下数组:
var phrase = [
'Très insatisfait',
'Insatisfait',
'Moyen',
'Satisfait',
'Très satisfait'
];
然后您可以使用以下方法获得适当的短语:
var avis1Phrase = phrase[avis1];
其中 avis1 应为 0 到 4 之间的值。
因此,如果您不想更改您的值,那么您可以使用JSON 哈希而不是数组,如下所示:
var phrase = {
1:'Très insatisfait',
2:'Insatisfait',
3:'Moyen',
4:'Satisfait',
5:'Très satisfait'
};
在这种情况下,您可以使用以下方法获取适当的短语:
var avis1Phrase = phrase[avis1];
其中 avis1 应为 1 到 5 之间的值。
此外,也许您应该考虑为您的变量 avis1、...、avis6、avisGeneral 制作一个数组或 JSON 哈希。 我的意思是,像这样:
var avis = {
1: my1stValue,
...
6: my6thValue,
General: myGeneralVaulue
};
我认为你可以使用 switch 语句
switch (new Date().getDay()) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
}
你可以使用一个对象。
var text = {
1: 'Très insatisfait',
2: 'Insatisfait',
3: 'Moyen',
4: 'Satisfait',
5: 'Très satisfait'
};
使用权
avis1Phrase = text[avis1];
// Since all the phrases for all the 'avis' are the same, you can reuse the same array.
var phrases = [
'Très insatisfait',
'Insatisfait',
'Moyen',
'Satisfait',
'Très satisfait'
],
// index starts at 0, so avis1 minus 1 gives the correct index.
avis1Phrase = phrases[ avis1 - 1 ],
avis2Phrase = phrases[ avis2 - 1 ],
avis3Phrase = phrases[ avis3 - 1 ],
avis4Phrase = phrases[ avis4 - 1 ],
avis5Phrase = phrases[ avis5 - 1 ],
avis6Phrase = phrases[ avis6 - 1 ],
avisGeneralPhrase = phrases[ avisGeneral - 1 ];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.