配列の操作
ここではオフィススクリプトにおける配列の体系的な操作方法について解説します。
空の配列を定義する
Section titled “空の配列を定義する”要素を持たない空の配列を定義する場合は、値として[]のみを指定します。
空の配列からは型推論がはたらかない(どのようなデータを格納するか分からない)ため、型の定義も同時に行う必要があります。Office スクリプトでは暗黙的なany型が許可されていないため、型を省略するとエラーになることがあります。
/** 空の配列 */const array: string[] = [];初期値を持つ配列を定義する
Section titled “初期値を持つ配列を定義する”配列の定義と同時に初期値を設定する場合は、[]の中に、カンマ区切りで要素を指定します。
初期値から型推論がはたらくため、型定義は省略可能です(サンプルでは明示的に型を指定しています)。
/** 初期値を持つ配列 */const fruits: string[] = ['リンゴ', 'ミカン'];
/** 複数のデータ型を持つ配列 */const mixed: (string | number)[] = [1200, 'バナナ'];配列に要素を追加する
Section titled “配列に要素を追加する”Array.pushメソッドを使用して、配列の末尾にデータを追加できます。
const sports: string[] = [];
// 要素を追加sports.push('野球');
// 複数の要素を同時に追加するsports.push('サッカー', 'バスケ');配列を結合する
Section titled “配列を結合する”複数の配列を結合し、1 つの配列としたい場合の記述方法です。
結合する方法は複数用意されており、サンプルコードのどの方法を使っても同じ結果(['リンゴ', 'ミカン', 'バナナ'])となります。
const array1 = ['リンゴ'];const array2 = ['ミカン', 'バナナ'];
// 結合された配列const joined1 = [...array1, ...array2];const joined2 = array1.concat(array2);const joined3 = [array1, array2].flat();配列から要素を取得する
Section titled “配列から要素を取得する”インデックスを指定して取得する
Section titled “インデックスを指定して取得する”配列の n 番目の要素を指定して取得することができます。
インデックスは 0 から開始されるため、例えば 2 番目の要素を取得したい場合は、インデックスに 1 を指定します。
const array = ['リンゴ', 'ミカン', 'バナナ'];
array[1]; // ミカン分割代入を使用して取得する
Section titled “分割代入を使用して取得する”分割代入を使用すると、配列の要素を先頭から順に複数の変数へまとめて代入できます。
const array = ['リンゴ', 'ミカン', 'バナナ'];
const [apple, orange, banana] = array; // apple: リンゴ, orange: ミカン, banana: バナナ