100: 'xxx',
200: 'yyy',
300: 'zzz',
},
}
Задача
1) получить новый объект только с элементами у которых в значении лежит объект.
2) положить в значения элементам вместо объекта - массив с его значениями
Подскажите простой способ сделать это чтоб сохранились типы?
Js запись при которой типов нету на выходе такая.
Долблюсь уже час если не больше)
const filterdColors = Object.fromEntries(
Object.entries(colors)
.filter(([k, v]) => typeof v === 'object')
.map(([k, v]) => [k, Object.values(v)]),
);
По идее никак, если что-то изменяешь в текущем объекте то там поможет union types(но это очень опасная мина которая еще не ясно где рванет), либо функция которая принимает 1 тип, а возвращает другой.
Нет времени сильно копаться, но может куда-нибудь в эту сторону посмотреть? type Color = Record<number, string>; type Colors = Record<string, string | Color>; type FilteredColor<T extends Colors> = { [key in keyof T]: T[key] extends string ? never : T[key][keyof T[key]]; };
Обсуждают сегодня