コンテンツにスキップ

配列の操作

ここではオフィススクリプトにおける配列の体系的な操作方法について解説します。

要素を持たない空の配列を定義する場合は、値として[]のみを指定します。

空の配列からは型推論がはたらかない(どのようなデータを格納するか分からない)ため、型の定義も同時に行う必要があります。Office スクリプトでは暗黙的なany型が許可されていないため、型を省略するとエラーになることがあります。

/** 空の配列 */
const array: string[] = [];

配列の定義と同時に初期値を設定する場合は、[]の中に、カンマ区切りで要素を指定します。

初期値から型推論がはたらくため、型定義は省略可能です(サンプルでは明示的に型を指定しています)。

/** 初期値を持つ配列 */
const fruits: string[] = ['リンゴ', 'ミカン'];
/** 複数のデータ型を持つ配列 */
const mixed: (string | number)[] = [1200, 'バナナ'];

Array.pushメソッドを使用して、配列の末尾にデータを追加できます。

const sports: string[] = [];
// 要素を追加
sports.push('野球');
// 複数の要素を同時に追加する
sports.push('サッカー', 'バスケ');

複数の配列を結合し、1 つの配列としたい場合の記述方法です。

結合する方法は複数用意されており、サンプルコードのどの方法を使っても同じ結果(['リンゴ', 'ミカン', 'バナナ'])となります。

const array1 = ['リンゴ'];
const array2 = ['ミカン', 'バナナ'];
// 結合された配列
const joined1 = [...array1, ...array2];
const joined2 = array1.concat(array2);
const joined3 = [array1, array2].flat();

インデックスを指定して取得する

Section titled “インデックスを指定して取得する”

配列の n 番目の要素を指定して取得することができます。

インデックスは 0 から開始されるため、例えば 2 番目の要素を取得したい場合は、インデックスに 1 を指定します。

const array = ['リンゴ', 'ミカン', 'バナナ'];
array[1]; // ミカン

分割代入を使用すると、配列の要素を先頭から順に複数の変数へまとめて代入できます。

const array = ['リンゴ', 'ミカン', 'バナナ'];
const [apple, orange, banana] = array; // apple: リンゴ, orange: ミカン, banana: バナナ