Трехстороннее сравнение переменных и строк - PullRequest
0 голосов
/ 01 сентября 2018

Итак, я хочу сравнить две переменные JavaScript и посмотреть, совпадают ли они и соответствуют ли они указанной строке. Одна переменная основана на пользовательском вводе, другая - на базе данных. Вот пример того, что, как я надеялся, могло сработать ...

var userInput = "Simple";
var databaseData = "Simple";
if (userInput == databaseData == "Simple") {...}

и то, что я знаю, работает.

if (userInput == "Simple" && databaseData == "Simple") {...}

Так что первый пример, похоже, не работает, даже с 3-мя знаками равенства вместо 2. Возможно ли то, что я надеялся сделать каким-то другим способом (цель - простота и компактность), или то, что я знаю, работает лучший способ сделать это?

1 Ответ

0 голосов
/ 01 сентября 2018

Эта функция возвращает true, если все ее аргументы строго равны:

function allEqual(...args) {
  return args.every((el, i, arr) => i === 0 || el === arr[i-1]);
}

Имеет ли смысл использовать его для трех значений, например так ...

if (allEqual(userInput, databaseData, 'Simple')) { ... }

... зависит от вас.

...