Проверка неопределенного массива QML

#qt #qml

#qt #qml

Вопрос:

Я получаю ошибку неопределенного массива в QML и задаюсь вопросом, что исправит эту ошибку. Вот текущий код:

 opacity: mBitField[index]
 

время от времени он будет говорить, что не может назначить undefined opacity , и мне интересно, действительно ли это исправление:

 opacity: mBitField[index] == "undefined" ? 0 : mBitField[index]
 

По сути, я пытаюсь сказать, что если массив не определен, то можно присвоить 0 opacity , в противном случае назначить то, что находится в массиве.

Ответ №1:

Ваш код преобразует элемент массива в строку, которая не является необходимой. Для проверки только неопределенного было бы:

 opacity: mBitField[index] === undefined ? 0 : mBitField[index]
 

Или, если различение undefined и null (и false, 0 или «») не имеет значения, просто используйте возможности Javascript 🙂

 opacity: mBitField[index] || 0