Как ввести функцию, чтобы входной объект был таким же, как и выходной объект, но с разными значениями?Преобразование объектов машинописных записей
//a has type { a: number;b: number }
let a = { 'a': 1, 'b': 1 };
interface IDictNumber {
[key: string]: number;
}
interface IDictString {
[key: string]: string;
}
function convert(f: IDictNumber) {
return Object.keys(f)
.reduce((p, v) => {
p[v] = `${f[v]}`;
return p;
},
{} as IDictString);
}
//b has type IDictString, but I wanted it to have { a: string;b: string }
let b= convert(a);
Нет, что не будет работать, так как я назвал бы конвертировать с '{«с ': 23,' d ': 45} ', а затем не получить правильный тип назад – Cine