JavaScript: 配列

2022.6.3
Dev

生成

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]