Проблема: переменная не определена - PullRequest
0 голосов
/ 02 мая 2019

У меня проблема с простым машинописным кодом. Я пытаюсь отобразить объект в строку, и результат неожиданный, метод всегда возвращает «desc». Я пытался отладить код, и странно, что переменная id не определена. Когда я пытался записать 'state [0] .id' на консоли, было напечатано правильное значение. Спасибо за помощь!

interface Pageable {
   id: string,
   desc: boolean
}

private mapSortedToSortingString(state: Pageable[]): string {
    if (state.length > 0) {
        let id: string = state[0].id;
        let sort = id + ',' + (state[0].desc) ? 'desc' : 'asc';
        console.log(sort);
    }

    return (state.length > 0) ? (state[0].id + ',' + (state[0].desc) ? 'desc' : 'asc') : "";
}

Console screenshot

1 Ответ

0 голосов
/ 02 мая 2019

(только частичный ответ, но необходимо форматирование.)

Ваша троица все равно будет неправильной из-за приоритета оператора.

Поместите крестики вокруг своих троих, например, первый:

    const sort = id + ',' + ((state[0].desc) ? 'desc' : 'asc');

Или сделайте это более разборчиво и выделите его как промежуточную переменную.


Не связано, но поскольку оно не переназначено, используйте const.

Что касается undefined, мы не можем видеть ваши данные, поэтому мы не знаем. Это происходит в асинхронном режиме (в этом случае console.log может вводить в заблуждение)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...