【发布时间】:2023-04-07 22:17:02
【问题描述】:
我有这个函数应该返回一个数组的随机项。
function getRandomArrayItem {
return arr[Math.floor((Math.random()*arr.length))];
}
我将按如下方式使用它:
const LANGUAGE_VALUES = ["EN","ES"] as const;
// I HAVE THIS TYPE
type LANGUAGE_VALUES_TYPE = typeof LANGUAGE_VALUES[number]; // THIS IS: "EN" | "ES"
// I NEED TO CALL getRandomArrayItem ON LANGUAGE_VALUES TO SELECTED A RANDOM LANGUAGE:
const language = getRandomArrayItem(LANGUAGE_VALUES);
我需要随机选择的语言为LANGUAGE_VALUES_TYPE 类型。即:"EN" | "ES".
我该怎么做?
另外,我希望它是通用的,因为我将在其他类似数组中使用该函数,但内容不同。
【问题讨论】:
-
在您的示例中,
LANGUAGE_VALUES_TYPE将是字符串类型,而不是'EN' | 'ES',因为LANGUAGE_VALUES被推断为string[] -
@gbalduzzi 抱歉,我忘了添加
const assertion。现在将添加。
标签: arrays typescript typescript-typings