Слишком долго, если заявление в Javascript - PullRequest
0 голосов
/ 14 декабря 2018
var deviceName = '';

if(deviceName == 'sampleOne'){
   newName = 'One' 
}

if(deviceName == 'sampleTwo'){
   newName = 'Two' 
}

if(deviceName == 'sampletThree'){
   newName = 'Three'
}

У меня есть это простое утверждение if для Javascript.

Как это работает?

Когда вводимые данные равны sampleOne, на выходе будет One.Вот и все, очень просто, верно?

Обратите внимание, что этот код работает нормально.Но моя проблема в том, что у меня так много выборок, и я думаю, что использование такого рода оператора If - плохая идея, потому что это будет слишком долго.Есть ли способ сократить это, если заявление?

Ответы [ 5 ]

0 голосов
/ 14 декабря 2018

var deviceName  = "sampleOne";
newName =deviceName.split('sample')[1];
console.log(newName );

Если ваше значение начинается с sample, просто используйте эту логику

0 голосов
/ 14 декабря 2018

Вы можете использовать switch выражение:

var deviceName = 'sampleFour';
var newName;
switch (deviceName) {
  case 'sampleOne':
    newName = 'One';
    break;
  case 'sampleTwo':
    newName = 'Two';
    break;
  case 'sampleThree':
     newName = 'Three';
    break;
  case 'sampleFour':
    newName = 'Four';
    break;
  case 'sampleFive':
    newName = 'Five';
}

console.log(newName);
0 голосов
/ 14 декабря 2018

Вы можете использовать оператор switch.Найдите пример ниже:

<html>
<body>

<input id="myInput" type="text">

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
    var text;
    var deviceName  = document.getElementById("myInput").value;

    switch(deviceName ) {
        case "sampleOne":
            text = "One";
        break;
        case "sampleTwo":
        text = "Two";
        break;
        case "sampletThree":
        text = "Three";
        break;
        default:
        text = "No Match";
    }
    document.getElementById("demo").innerHTML = text;
}
</script>

</body>
</html>
0 голосов
/ 14 декабря 2018

Вы также можете использовать Switch вместо условия IF.Переключатель можно использовать, если вы хотите выполнить несколько операций в условиях.

var deviceName = 'sampleOne';
switch(deviceName)
{
    case 'sampleOne':
        newName = 'One';
        break;
    case 'sampleTwo':
        newName ='Two';
        break;
    case 'sampleThree':
        newName ='Three';
        break;
    default:
        break;
}
0 голосов
/ 14 декабря 2018

Если у вас их много, вы можете создать объект, который сопоставит deviceName с newName.Тогда вы можете просто посмотреть:

let lookup = {
  'sampleOne': 'One',
  'sampleTwo': 'Two' ,
  'sampleThree': 'Three'
}

let deviceName = 'sampleTwo'
let newname = lookup[deviceName]
console.log(newname)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...