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

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

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

15 ответов

19 просмотров

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта