配列の初期化
// 空の配列const a: number[] = []; // []a.push(42); // [42]// 長さを指定const b = new Array(3); // [undefined, undefined, undefined]b[0] = 5; // [5, undefined, undefined]b[1] = 7; // [5, 7, undefined]// 初期値で満たすconst c = new Array(3).fill(-1); // [-1, -1, -1]// 初期値で配列やオブジェクトを使うと、全部共有されるconst d = new Array(3).fill([1]); // [[1], [1], [1]]d[0].push(2); // [[1,2], [1,2], [1,2]]
配列の分割代入
const array = [1, 2, 3];const [a, b, c] = array; // 1, 2, 3const [d, e] = array; // 1, 2const [f, ...g] = array; // 1, [2, 3]const [h, , i] = array; // 1, 3
配列の操作
const a = [0, 1];// 末尾に追加 複数指定可a.push(2, 3); // [0, 1, 2, 3]// 末尾から取り除くa.pop()); // 戻り値 3、配列 [0, 1, 2]a.pop()); // 戻り値 2、配列 [0, 1]// 先頭に追加 複数指定可a.unshift(-2, -1); // [-2, -1, 0, 1]// 先頭から取り除くa.shift(); // 戻り値 -2、配列 [-1, 0, 1]a.shift(); // 戻り値 -1、配列 [0, 1]
配列の一部を取得
const a = [0, 1, 2, 3, 4];// 開始から末尾(含まない)までを取得a.slice(0, 2); // [0, 1]a.slice(1, 4); // [1, 2, 3]// 末尾を省略したときは最後までa.slice(2); // [2, 3, 4]
配列の要素を削除して取り出す
// 指定した位置以降の要素を削除するconst a = [0, 1, 2, 3, 4];const b = a.splice(3);console.log(a); // [0, 1, 2]console.log(b); // [3, 4]// 指定位置から指定数の要素を削除するconst c = [0, 1, 2, 3, 4];const d = c.splice(1, 2);console.log(c); // [0, 3, 4]console.log(d); // [1, 2]// 指定位置から指定数の要素を削除して要素を追加するconst e = [0, 1, 2, 3, 4];const f = e.splice(1, 2, 97, 98, 99);console.log(e); // [0, 97, 98, 99, 3, 4]console.log(f); // [1, 2]
配列のソート (number)
const a = [10, 1, 5];// デフォルトでは文字列としてソートa.sort(); // [1, 10, 5]// 昇順ソートa.sort((a, b) => a - b); // [1, 5, 10]// 降順ソートa.sort((a, b) => b - a); // [10, 5, 1]
配列から条件に一致したものを取り出す
const a = [1, 2, 3, 4, 5, 6];const v = a.filter((v) => v % 2 === 0); // [2, 4, 6]const l = a.filter((v) => v % 2 === 0).length; // 3
配列を文字列化
const a = [1, 2, 3];// 何も指定しないときはカンマ区切りa.join(); // 1,2,3// 区切り文字列を指定a.join(" "); // 1 2 3a.join(" - "); // 1 - 2 - 3a.join(""); // 123
重複を許さないSet
// 重複したものは追加されない// 追加された順番を維持するconst s = new Set<number>();s.add(3); // 3s.add(1); // 3, 1s.add(3); // 3, 1s.add(2); // 3, 1, 2console.log(s.size); // 3// Set を Array に変換const a = Array.from(s); // [3, 1, 2]// Array を Set に変換const s2 = new Set([4, 6, 5]); // 4, 6, 5