Как присвоить значение переменной, используя операторы if else - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь присвоить значение переменной, используя операторы if else, но не могу заставить его работать. Кто-нибудь может мне помочь? Или есть более элегантный способ добиться этого?

(function(){
var func1 = function () {

if (field1 >= 1) && (field1 <= 2) {return "A";}
else if (field1 >= 3) && (field1 <= 4) { return "B"; }
else if (field1 >= 5) && (field1 <= 6) { return "C"; }
else {return "D";}
}

return func1;

})()

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

С Math.floor().

Сделать каждое число между a и b с Math.floor() до a .

Пример

const val = 3.3;

// arr[0] -> 1 <= val < 2
// arr[1] -> 2 <= val < 3
// arr[2] -> 3 <= val < 4
// ...
const arr = ["A", "B", "C", "D", "E", "F"];

function getResult(val) {
  const floored = Math.floor(val);
  // Index starts with 0 -> floored - 1 
  return arr[floored - 1] ||  "G";
}

console.log(getResult(val));
0 голосов
/ 10 октября 2019

Это работает, если вы определите field1, удалите лишние скобки в условиях if и вызовите вашу функцию func1 где-нибудь

(function() {
  var func1 = function() {
    // You should define field1
    var field1 = 5;

    if (field1 >= 1 && field1 <= 2) {
      return "A";
    }
    if (field1 >= 3 && field1 <= 4) {
      return "B";
    } 
    if (field1 >= 5 && field1 <= 6) {
      return "C";
    }
    
    return "D";
  }
  // You should call your function for it to actually return something
  console.log(func1())

  return func1;
})()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...