我使用泛型类型参数:T extends unknown[]
,因为此函数应该适用于任何类型的数组。
export const pickRandomItems = <T extends unknown[]> (arr: T, n: number): T => {
const shuffled = Array.from(arr).sort(() => 0.5 - Math.random());
return shuffled.slice(0, n);
};
但我在声明中收到以下错误return:
如果我进行类型断言,它就会消失。但为什么有必要呢?难道我做错了什么?
笔记:
下面的行被评估为unknown[]
,那么为什么类型断言仍然是必要的呢?
const result = shuffled.slice(0, n);
ibeautiful
繁花不似锦
相关分类