- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2022-07-18T03:25:28+09:00","","")
[[javascript/correction]]
#author("2022-07-25T00:30:29+09:00","","")
[[Javascript/collection]]
* Javascript のコレクション操作 - 配列 [#t6031fd8]
&color(red){''【要注意】''記載の事項は、基本的に避けるべき内容となります。};
** 生成 [#j0226685]
let data = new Array(); // (1) 要素数0 の配列生成
let data = []; // (2) (1) と同じ
let data = [ 1, 2, 3 ]; // (3) 要素数3 (値1,2,3) の配列生成
&color(red){''【要注意1】配列のサイズ指定と要素指定の違い''};
let data = new Array(5); // (4) 要素数5 の配列生成 (中身はすべて空)
let data = new Array(5,4) // (5) 要素数2 (値5,4) の配列
let data = new Array(5,); // (5) 要素数5 の配列生成 (中身はすべて空)
let data = new Array(5,4); // (6) 要素数2 (値5,4) の配列
&color(red){''【要注意2】空による初期化''};
let data = [,,,]; // (6) 要素数3 の配列生成 (中身はすべて空)
let data = [,,3]; // (7) 要素数3 の配列生成 ([空,空,3])
let data = [,,3,]; // (8) 要素数3 の配列生成 ([空,空,3])
let data = [,,,]; // (7) 要素数3 の配列生成 (中身はすべて空)
let data = [,,3]; // (8) 要素数3 の配列生成 ([空,空,3])
let data = [,,3,]; // (9) 要素数3 の配列生成 ([空,空,3])
** 要素の追加 [#q78483ed]
let data = ['A','B','C' ];
data.push('D'); // (1) => ['A', 'B', 'C', 'D' ]
data[4] ='E'; // (2) => ['A', 'B', 'C', 'D', 'E' ]
let data = ['B','C' ];
data.unshift('A'); // (1) 先頭に追加 => ['A', 'B', 'C' ]
data.push('D'); // (2) 末尾に追加 => ['A', 'B', 'C', 'D' ]
data[4] ='E'; // (3) 末尾に追加 => ['A', 'B', 'C', 'D', 'E' ]
&color(red){''【要注意1】間を飛ばして追加可能(間に空の要素が追加される)''};
data[6] = 'G'; // (3) => ['A', 'B', 'C', 'D', 'E', 空, 'G' ]
data[6] = 'G'; // (4) => ['A', 'B', 'C', 'D', 'E', 空, 'G' ]
// data.length は、7 となる。
&color(red){''【要注意2】0以上の整数値以外は、プロパティ追加となる''};
data[-1] = 'Z'; // (4) => ['A', 'B', 'C', 'D', 'E', 空, 'G', -1:'Z' ]
&color(red){''【要注意2】0以上の整数値以外は、配列の要素ではなく、プロパティ追加となる''};
data[-1] = 'Z'; // (5) => ['A', 'B', 'C', 'D', 'E', 空, 'G', -1:'Z' ]
// data.length は、7 のままとなる
** 要素の取り出し [#m1f686a6]
let data = ['A', 'B', 'C', 'D' ];
console.log(data[1]); // (1) 指定取出し => 'B', data 自体は変化しない
console.log(data.pop()); // (2) 末尾取出し => 'D', data => ['A', 'B', 'C']
console.log(data.shift()); // (3) 先頭取出し => 'A', data => ['B', 'C' ]