Puede ser una pregunta simple, pero no me he dado cuenta, ya que todavía soy un novato en TypeScript, tengo una variable:
let v1: number | number[];quiero convertir
let v2: number[];Si v1 = 1 => v2 será [1]
si v1= [1, 2] => v2 será [1,2]
Pruebe si la variable es una matriz, cree una si no:
const v2 = Array.isArray(v1) ? v1 : [v1]; La respuesta aceptada parece tener un efecto secundario menor (cuando v1 es una matriz, v2 heredará la referencia a 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] Puedo sugerir mi solución (simplemente use 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]