Тонкая проблема, вызывающая потерю печати даже при неправильной настройке переменных среды, например. здесь LC_ALL установлен на «C». В Debian они препятствуют установке: Debian wiki в Locale
$ echo $LANG
en_US.utf8
$ echo $LC_ALL
C
$ python -c "print (u'voil\u00e0')"
Traceback (most recent call last):
File "", line 1, in
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe0' in position 4: ordinal not in range(128)
$ export LC_ALL='en_US.utf8'
$ python -c "print (u'voil\u00e0')"
voilà
$ unset LC_ALL
$ python -c "print (u'voil\u00e0')"
voilà
array[index] == 'undefined'
сравнивает значение индекса массива со строкой «undefined».
Вы, вероятно, ищете typeof array[index] == 'undefined'
, который сравнивает тип .
Вы проверяете, что индекс массива содержит строку "undefined"
, вы должны либо использовать оператор typeof
:
typeof predQuery[preId] == 'undefined'
, либо использовать глобальное свойство undefined
:
predQuery[preId] === undefined
Первый способ безопаснее , поскольку глобальное свойство undefined
доступно для записи, и его можно изменить на любое другое значение.
Проверьте для
if (predQuery[preId] === undefined)
Используйте оператор строгого равенства. См. операторы сравнения
. try: typeof(predQuery[preId])=='undefined'
или, в более общем случае: typeof(yourArray[yourIndex])=='undefined'
Вы сравниваете «undefined» с undefined, что возвращает false =)
predQuery[preId]=='undefined'
Вы тестируете по строке 'undefined'
; вы перепутали этот тест с тестом typeof
, который возвращает строку. Вы, вероятно, хотите проверить специальное значение undefined
:
predQuery[preId]===undefined
Обратите внимание на оператор строгого равенства, чтобы избежать нежелательного совпадения null==undefined
.
Однако есть два способа получить значение undefined
: либо preId
не является членом predQuery
, либо является элементом, но имеет значение, установленное в специальное значение undefined
значение. Часто вам нужно только проверить, присутствует он или нет; в этом случае оператор in
более уместен:
!(preId in predQuery)
Есть больше (много) способов в Рим:
//=>considering predQuery[preId] is undefined:
predQuery[preId] === undefined; //=> true
undefined === predQuery[preId] //=> true
predQuery[preId] || 'it\'s unbelievable!' //=> it's unbelievable
var isdef = predQuery[preId] ? predQuery[preId] : null //=> isdef = null
ура!
Этот код работает очень хорошо
function isUndefined(array, index) {
return ((String(array[index]) == "undefined") ? "Yes" : "No");
}