typescript 型号|number[]'无法指派给型别'number[]'

2lpgd968  于 2022-11-26  发布在  TypeScript
关注(0)|答案(1)|浏览(210)

我得到了一个typescript函数,它返回一个带有result属性的对象,该属性可以是number或number[]类型。
现在,在另一个函数中,我想获取结果数组的最后一个元素(我知道在这种情况下,结果是number[]类型,但它会抛出以下错误。
型号|number[]'不能赋给类型'number[]'
为什么会这样,我该如何解决?

5sxhfpxr

5sxhfpxr1#

只能指派数字数组。
你有一个东西,可能是一个数组,也可能是一个数字.
您不能指定单个数字,因为它不是数字数组。
你需要测试一下你实际拥有的是哪一个,如果它不是一个数字数组,就把它转换成一个。
例如:

const myNumberOrArray = firstFunction();
if (typeof myNumberOrArray === "number") {
    const array = [myNumberOrArray];
    otherFunction(array);
} else {
    otherFunction(myNumberOrArray);
}

相关问题