169 похожих чатов

Всем привет. подскажите кто шарит. вот есть у меня обьект

с типом { masha: any[]; petya any[]; }
я вынимаю машу и пытаюсь проверить длину,
const { masha } = request; masha.length; .
Проблема в том что маша может быть null ( я на это повлиять не могу) const { masha = [] } = request; не помогает естественно, что с этим сделать кроме простого if ?

15 ответов

6 просмотров

masha?.length

Степан-Золин Автор вопроса
Jake Epping
masha?.length

я в компоненте это делаю

Степан-Золин Автор вопроса
Jake Epping
masha?.length

ах да) у меня старый ts поэтому так не могу

я обычно перед тем как в приложение передавать данные их валидирую. то есть вот такого быть не может: { masha: any[]; petya any[]; } сначала обработка данных: if (Array.isArray(masha)) { return masha.map(item => validator<ItemInterface>(item)) } return [] потом ловим и обрабатываем ошибки в try catch и возвращаем new Failure() в случае ошибки и на следующем уровне проверяем if (result instanceOf Failure) { // показать ошибку } else { // смело проверяем masha.lengthи отображаем что-то в зависимости от результата }

А чем if не устраивет, если уж ts настолько старый? Можно еще через Array.isArray проверять..

Степан-Золин Автор вопроса
Степан Золин
да как-то много кода получается

Да писец, а как ты будешь вообще проверять есть ли маша?

Степан Золин
да как-то много кода получается

проверяй через короткую запись masha = masha? true:false;

Степан-Золин Автор вопроса
Maxim Pak
проверяй через короткую запись masha = masha? tr...

ну вот то же if... короткая запись просто получается и все

Степан Золин
ну вот то же if... короткая запись просто получает...

да, но короче. Если тебя волнует так, на сколько строк у тебя код.

Степан-Золин Автор вопроса
Maxim Pak
да, но короче. Если тебя волнует так, на сколько с...

в общем без ифов никак... ну в любом случае спасибо)

Степан Золин
в общем без ифов никак... ну в любом случае спасиб...

Ну да, у тебя просто при masha = null, будет падать ошибка на masha.lenght

const mashaLength = request.masha ? request.masha.length : 0 const mashaLength = Array.isArray(request.masha) ? request.masha.length : 0

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
52
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
буквально один оставшийся вопрос при выполнении строчки mov eax, 5 операнд "5" будет присутствовать где-либо в памяти (любой), кроме как в памяти блока .code? подвопрос: как...
12
Всем ку. Подскажите, если задекларировал массив так: int arr[10] = {1, 2, 3, 4}, то в arr[4] будет мусор или нуль?
Sasha K
14
я не понимаю mov [r11+8],rcx и прочие. мы записываем значение из rcx, куда?
Bor
15
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
5
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
А какие расширения активно используются в промышленности? Именно идейные, по типу гадт, а не всякие оверлоадедстрингс
Степан
11
у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше): - "п1" --- виртуальный адрес, то есть тот, который ресолвится в "п...
Toideng
3
Guys Who’s kurdish on this group?
Hiwa Amiri
11
Карта сайта