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

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

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

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

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

22 ответов

8 просмотров

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...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
Всем доброго дня! Подскажите может кто использовал связку Pagebuilder + Clientsetting. Сами параметры с типом pagebuilder в модуле Clientsetting работают нормально, можно такж...
Александр Добриков
12
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Всем привет! procedure TForm1.FormCreate(Sender: TObject); type TStartEnd = record S: Byte; E: Byte; end; var a, b: TStartEnd; begin {1} a.S := 1; {2} a.E := 2; ...
Руслан Михайлович
10
Всем привет!) я тут новенький и пытаюсь освоить evolution методом тыка. У меня при переходе между папками файлов выскакивают вот такие уведомления Можете подсказать как их от...
Диман Samoed
10
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
Карта сайта