Javascript 是否有方法返回数组中一个项的类型

Javascript 是否有方法返回数组中一个项的类型,javascript,typescript,Javascript,Typescript,我试图定义一个typescript函数,它接受一个字符串数组,然后返回一个字符串。字符串保证是数组中的选项之一。我希望返回类型是“string1”|“string2”|“string3”,而不仅仅是一个通用的字符串 这样,调用函数的人就可以对返回的值使用typescript。使用联合类型:type myType=“string1”|“string2”|“string3” 这应该可以做到从问题定义来看,您似乎正在尝试将字符串的数组/元组转换为联合类型。其中一种方法是使用可从版本3.4获得的来实现这

我试图定义一个typescript函数,它接受一个字符串数组,然后返回一个字符串。字符串保证是数组中的选项之一。我希望返回类型是
“string1”|“string2”|“string3”
,而不仅仅是一个通用的
字符串


这样,调用函数的人就可以对返回的值使用typescript。

使用联合类型:
type myType=“string1”|“string2”|“string3”

这应该可以做到

从问题定义来看,您似乎正在尝试将字符串的
数组/元组
转换为
联合类型
。其中一种方法是使用可从
版本3.4
获得的来实现这一点。下面是示例代码-

const array = ['x', 'y', 'z'] as const; 
type UnionType = typeof array[number]; // type "x" | "y" | "z"

const func = (input: typeof array): UnionType => {
  return 'x';
};

console.log(func(['x', 'y', 'z']));

你是如何试图解决这个问题的(展示代码),你能解释什么不起作用吗?