我需要创建一个通用函数,该函数将循环访问TOrderBy
对象的属性(key, value
),并控制台记录value
对象的属性(ordinality
);
type Entries<T> = {
[K in keyof T]: [K, T[K]];
}[keyof T][];
interface ISortableItem {
ordinality: number;
}
class SortClass {
name: ISortableItem;
population: ISortableItem;
}
function sortObject<TSort>(obj: TSort) {
const objects = Object.entries(obj) as Entries<TSort>;
for (const [key, value] of objects) {
console.log(value.ordinality);
}
}
当然,Typescript编译器在value.ordinality
上给出了错误.
是否可以对TSort
设置约束,以便其所有属性都应该实现ISortableItem
?