JavaScript: 配列
生成
const a1 = [1, 2, 3]; // => [1, 2, 3]
const a2 = new Array(3); // => [undefined, undefined, undefined]
const a3 = new Array(1, 2, 3); // => [1, 2, 3]
const a4 = Array.of(3); // => [3]
const a5 = Array.of(1, 2, 3); // => [1, 2, 3]
const a6 = Array.from([1, 2, 3], (v, k) => v * 2); // => [2, 4, 6]
要素の取得
const a7 = [1, 2, 3];
a7[0]; // => 1
a7[a7.length - 1]; // => 3
a7.at(-1); // => 3
サイズ
lengthプロパティで配列のサイズを取得したり、変更することができる
const a8 = [1, 2, 3];
a8.length; // => 3
a8.length = 1;
a8; // => [1]
a8.length = 3;
a8; // => [1, undefined, undefined]
検索
const a9 = [1, 2, 3, 1]; // => [1, 2, 3]
a9.includes(1); // => true
a9.includes(4); // => false
a9.includes(1, 1); // => false
a9.indexOf(1); // => 0
a9.indexOf(4); // => -1
a9.indexOf(1, 1); // => -1
a9.lastIndexOf(1); // => 3
a9.findIndex(value => value >= 2); // => 1
a9.findIndex(value => value >= 4); // => -1
a9.find(value => value >= 2); // => 2
a9.find(value => value >= 4); // => undefined
ソート
const a10 = [5, 1, 3, 2, 4];
a10.sort();
a10; // => [1, 2, 3, 4, 5]
a10.sort((a, b) => b - a);
a10; // => [5, 4, 3, 2, 1]
const a11 = ['a', 'c', 'b', 'd', 'e'];
a11.sort();
a11; // => ['a', 'b', 'c', 'd', 'e']
a11.sort((a, b) => b.localeCompare(a));
a11; // => ['e', 'd', 'c', 'b', 'a']
逆順
const a12 = [1, 2, 3];
a12.reverse();
a12; // => [3, 2, 1]
フィルター
const a13 = [1, 2, 3];
a13.filter(value => value >= 2); // => [2, 3]
テスト
const a14 = [1, 2, 3];
a14.every(value => value >= 2); // => false
a14.some(value => value >= 2); // => true
Fill
const a15 = [1, 2, 3];
a15.fill(4, 0, 2);
a15; // => [4, 4, 3]
連結
const a16 = [1, 2, 3];
const a17 = [4, 5, 6];
a16.concat(a17); // => [1, 2, 3, 4, 5, 6]
Join
const a18 = [1, 2, 3];
a18.join(' '); // => '1 2 3'
先頭/末尾への操作
const a19 = [1, 2, 3];
a19.push(4, 5, 6);
a19; // => [1, 2, 3, 4, 5, 6]
a19.pop(); // => 6
a19; // => [1, 2, 3, 4, 5]
a19.shift(); // => 1
a19; // [2, 3, 4, 5]
a19.unshift(7, 8);
a19; // => [7, 8, 2, 3, 4, 5]