我无法优化这段代码javascript

时间:2017-02-02 09:54:16

标签: 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';
}

5 个答案:

答案 0 :(得分:1)

使用数组应该会有很大帮助。代码示例(不完整):



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);




答案 1 :(得分:1)

也许您可以将值从0更改为4而不是1到5,并使用array,如下所示:

var phrase = [
    'Très insatisfait',
    'Insatisfait',
    'Moyen',
    'Satisfait',
    'Très satisfait'
];

然后您可以使用以下方法获取适当的短语:

var avis1Phrase = phrase[avis1];

avis1应该是介于0到4之间的值。

因此,如果您不想更改您的值,那么您可以使用JSON hash代替数组,如下所示:

var phrase = {
    1:'Très insatisfait',
    2:'Insatisfait',
    3:'Moyen',
    4:'Satisfait',
    5:'Très satisfait'
};

在这种情况下,您可以使用以下方法获取适当的短语:

var avis1Phrase = phrase[avis1];

avis1应该是介于1到5之间的值。

此外,也许您应该考虑为您的vaiables avis1,...,avis6,avisGeneral制作数组或JSON哈希值。我的意思是,像这样:

var avis = {
    1: my1stValue,
    ...
    6: my6thValue,
    General: myGeneralVaulue
};

答案 2 :(得分:0)

我认为您可以使用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";

}

答案 3 :(得分:0)

你可以使用一个物体。

var text = { 
    1: 'Très insatisfait',
    2: 'Insatisfait',
    3: 'Moyen',
    4: 'Satisfait',
    5: 'Très satisfait'
};

访问

avis1Phrase = text[avis1];

答案 4 :(得分:0)

// 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 ];