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

Проблема - как-то указать что я не оверрайдю ключ в

объекте и добавляю только уникальные. в идеале запретить указывать одинаковые ключи.

в тс*е не силен, вот сижу играюсь

https://www.typescriptlang.org/play?target=99#code/MYewdgzgLgBAhgBwQUzAEwNLIJ4QCogDyARgFbLCwC8MAPHieZTMgB5SpoQwBKFIAJzS0A1jhAAzGAzIUoAGmmM5AbTHZJS2ZQC6APkVZsLdp27QBASzABzPQAoQZAFxamCmOoiujKnQEoYKj0YAG8AKBgYUEhYNktoaxsjbhplSgA6L0cyfwBuSOjwaBgwZAB3FKCYAEEBAThsDIkBEABbezLymABlZCh7FQzh+MTbFMVhrJwIAPzwwoF+gFcBMFKKlIyltGXgZHt7OGBgRXVA4LDCqMspHNI1HAD4E8fsHWqnB-UdAqio5AAGwgyBewDeHxoAHIALRQgrXGBLKCrdbHYB-GAAX0UoSx8G4MncMAAZGEYG8YNYYEYdK4LElsfMsQiYiUvtVQjAONAAEyuACMih5UAAzK4oWg4FDsQU2bARdVECh0CkCOkBl9FCooSKoYpdchoAL9TBDXyoQECkA

22 ответов

37 просмотров

const appendKeysToObject = <T extends Record<string, any>, K extends string>( obj: T, keys: Array<(K extends keyof T ? never : K) & K> ): Record<Exclude<K, keyof T>, string> => { return { ...Object.fromEntries(keys.map((key) => [key, '-'])), ...obj } }

или просто можно `keys.forEach((key) => { if (!Object.prototype.hasOwnProperty.call(obj, key)) { obj[key] = '-'; } });`

Iurii Mamaev
const appendKeysToObject = <T extends Record<strin...

после такого хочется обратно в тёплый ламповый js

Iurii Mamaev
const appendKeysToObject = <T extends Record<strin...

Здесь еще нужно учитывать, что в объекте может быть больше полей, чем описано в типе, и если в них будут пересечения с ключами в массиве, то тип не верный будет выдавать.

olkivan
после такого хочется обратно в тёплый ламповый js

Поработав с тайпскрипт, начинаешь по-настоящему любить js и скучать по нему

О ужас, как можно любить это безтиповый кринж

Vladimir 🖤
О ужас, как можно любить это безтиповый кринж

Ну легко) Проблема то не из-за отсутствия типов как таковая. В том же CL типов так же не было, но мало кто жаловался на это

Лямбдa Кyмixo Кумихо
Ну легко) Проблема то не из-за отсутствия типов ка...

ну в js раньше тоже типов не было и мало кто жаловался )) тут же все ощущения на контрасте

アレクサンダー・バキマトフ
ну в js раньше тоже типов не было и мало кто жалов...

Ну если бы мало кто жаловался, то не появлялось куча либ их эмулирующих и препроцессоров их дающих)

Лямбдa Кyмixo Кумихо
Ну если бы мало кто жаловался, то не появлялось ку...

тут просто нужно учитывать размер аудитории. у js она огромна, просто статистически появилась бы куча либ и надстроек. но к общему числу пользователей это не так много

Dmitry
Также как и типовый кринж)

Кстати вопрос, а что там именно в системе типов кринж?

Лямбдa Кyмixo Кумихо
Можно поподробней?

А зачем? Я просто высказал мнение. Никому его не навязываю

Dmitry
А зачем? Я просто высказал мнение. Никому его не н...

Мне просто интересно услышать ваше мнение поподробней, тк мне лично крайне сложно его понять

Лямбдa Кyмixo Кумихо
Мне просто интересно услышать ваше мнение поподроб...

Не, напишешь подробнее опять начнутся споры, а я не хочу в них участвовать. Не понимаете, не понимаете, просто у вас другой опыт. Это нормально.

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта