javascript функция игнорирует условие в if

225
16 сентября 2017, 23:27
/*
 - Javascript  customRecord represents a row from the custom input
   data.   
 - dbRecord represents the corresponding data from DataBase.  
 - dbRecord will be null if there is no corresponding record in
   DataBase.   
 - return true if this rule should be applied to this custom
   record.
*/
function applyRule(customRecord, dbRecord){
    if (dbRecord.containsRole("ReportAdmin")){
        return true;
    }
    return false;
}

Есть некая js консоль на тестируемом сервисе с описанием объектов и куском кода в котором необходимо менять условие в зависимости от требований. В текущем необходимо применять правило для определенной роли, и не применять во всех остальных случаях. НО условие описанное в if полностью игнорируется - и функция всегда возвраoает false. Из копаний в индусовском коде пока удалось узнать только то, что contaisRole это java метод. Как он здесь применяется пока загадка. В логах никаких ошибок нет.

Answer 1

javascript не может просто так игнорировать

function applyRule(customRecord, dbRecord) {
    return !!dbRecord.containsRole('ReportAdmin')
}

Пробуйте вернуть значение, если возвращается всегда false, значит функция dbRecord.containsRole('ReportAdmin') возвращает отрицательное значение, иначе быть не может.

P.S!
Возможно, в вашем случае функция containsRole возвращает позицию найденной строки внутри исходной. Т.е. возвращает 0, например. В данном случае это будет результат положительный, отрицательным — -1. Соответственно, при успешно найденной строке функция будет возвращать false. Попробуйте так:

function applyRule(customRecord, dbRecord) {
    return dbRecord.containsRole('ReportAdmin') > -1
}

А лучше, дебажьте функцию и смотрите что она возвращает в разных случаях.

READ ALSO
SQL Java SELECT

SQL Java SELECT

Самый простой вопрос по SQLite, так как только начал изучать - как составить query для чтения всех имен с двух таблицЕсть таблица - mentors и applicants, обе...

240
android проигрывание аудио файла с SD

android проигрывание аудио файла с SD

ЗдравствуйтеНа SD карте находится аудио файл summertime

191
Проблема в коде (if оператор)

Проблема в коде (if оператор)

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

175
Не могу ничего считать с InputStream сокета

Не могу ничего считать с InputStream сокета

Пытаюсь сделать консольный чат на сокетахВ методе run() в классе MessageHandler (внутренний класс класса Client) поток блокируется при попытке чтения...

230