这可能是一个简单的问题,但我还没有搞清楚,因为我还是TypeScript的新手,我有一个变量:
let v1: number | number[];我想皈依
let v2: number[];如果v1 =1 => v2为1
如果v1= 1,2 => v2为1,2
发布于 2021-10-05 11:50:43
稍微紧凑的方法(完全不变)
接受的答案似乎有轻微的副作用(当v1是数组时,v2将继承对v1的引用):
const v1: number | number[] = [1, 2]
const v2: number[] = Array.isArray(v1) ? v1 : [v1] // v1: [1, 2], v2: [1, 2]
v1.push(3) // v1: [1, 2, 3], v2: [1, 2, 3]我可以建议我的解决方案(只需使用Array.prototype.concat()):
let v1: number | number[]
let v2: number[]
v1 = 1
v2 = Array().concat(v1) // v2: [1]
v1 = [1, 2]
v2 = Array().concat(v1) // v2: [1, 2]https://stackoverflow.com/questions/69449404
复制相似问题