跳至主要内容

Array 還是 Tuple

Tuple 是什麼?

Tuple 也是陣列,但是是非常嚴格的型別、陣列長度及順序性的陣列

怎麼寫?

原本 Array 的寫法
const arr_3: Array<string | null | number> = ["a", null, 3];
tuple 的寫法
const tuple3: [number, string, number] = [1, "a", 2];
const tuple3: [number, string] = [1, "a", 2]; // 這個就會提示錯誤
tuple 其他寫法
//可選
const tuple4: [number, number, number?] = [10, 20];
const tuple5: [number, number, number?] = [10, 20, 30];

// 剩餘元素 ( ...rest )
const tuple6: [string, ...number[]] = ["Clove", 85, 92, 78, 90];

// 不可修改 ( readonly )
const tuple7: readonly [number, string] = [1, "Clove"];

用哪個?

  • Array:同一型別,且長度不固定時的動態數據
  • Tuple:固定長度,且位置和意義不相同時 例:座標經緯度、RGB…