Same
Ошибка, не могу понять причину такой ошибки
-
Сделал так но не понятно почему не достаточно проверки что REZ не пустой
[[REZ]] = '' [[STAT]] = '' if ( [[SAVED_CONTENT]].indexOf(':') > -1 && [[SAVED_CONTENT]].indexOf('|') > -1 ) { [[REZ]] = [[SAVED_CONTENT]].split(':')[1] [[STAT]] = [[SAVED_CONTENT]].split('|')[0] [[KOORD]] = [[REZ]].split(';') } -
@bigorat Что? Код во втором посте рабочий.
Не понятно почему в первом код не рабочий. Там же есть проверка что REZ не пустой.
SAVED_CONTENT часто приходит такой "123-321-7:aassa|78787"
но вот если в SAVED_CONTENT что то типа "TEXT" то не работал код в первом посте. Во втором работает для меня всё как надо.ps в SAVED_CONTENT одновременно может быть все что угодно. Вообще не уловил Вашу логику почему там не может быть одновременно каких то знаков.
-
@gurkin4 said in Ошибка, не могу понять причину такой ошибки:
Уже где-то встречал. != должны отделяться пробелом
Вообще нет
-
@kuzkuz said in Ошибка, не могу понять причину такой ошибки:
Не понятно почему в первом код не рабочий. Там же есть проверка что REZ не пустой.
Потому что надо знать как сравниваются разные типы в js в данном случае [[REZ]] это undefined и он может быть равен только null, а пустой строке он не равен, поэтому все работает правильно.
[[SAVED_CONTENT]] = '12' [[REZ]] = [[SAVED_CONTENT]].split(':')[1] [[STAT]] = [[SAVED_CONTENT]].split('|')[0] if ( [[REZ]] !== undefined ) { [[KOORD]] = [[REZ]].split(';') } -
@UserTrue said in Ошибка, не могу понять причину такой ошибки:
Потому что надо знать как сравниваются разные типы в js
В дебагере BAS будет видно, кто undefined, а кто empty. Иногда сам туда посматриваю.
Можно писать код так, чтобы проверять сразу на пачку нужных значений. Но и тут могут быть подводные камни. Например, что будет, если переменная "0",''NaN" или еще какая подобная фигня, надо проверять отдельно.
let variableToCheck = "someValue"; if (!variableToCheck) { console.log("The variable is null, undefined, or empty."); } else { console.log("The variable has a valid value!"); -
@sergerdn said in Ошибка, не могу понять причину такой ошибки:
В дебагере BAS будет видно, кто undefined, а кто empty. Иногда сам туда посматриваю.
Это тут причем? Дебаггер бас может сказать, как приводятся разные типы при сравнении? Он и сам понимал что там undefined, но не понимал почему его сравнение не работает как он ожидает.
