概要
配列の要素を追加する場合と、削除する場合について、調べてみます。
要素の追加
配列の要素を追加する動きを確かめるため、次のようなサンプルコードを実行してみます。
let test1 = []; test1[0] = "abc"; test1[1] = "def"; console.log(test1[0]); console.log(test1[1]);
配列test1を生成し、要素の1番目と2番目に対して値を入れています。
出力結果は「abc」「def」になります。
さらに次のようなコードを実行してみます。
let test2 = []; test2.push("abc"); test2.push("def", "ghi"); console.log(test2[0]); console.log(test2[1]); console.log(test2[2]); console.log(test2.length); test2[test2.length] = "jkl"; console.log(test2[3]);
出力結果は次のようになります。
abc def ghi 3 jkl
配列に対してのpushは要素を一つ追加して、値を代入する動きをします。
pushは引数が複数ある場合は、配列の一つづつの要素として代入する動きをします。
途中で配列のインデックス「test2.length」に対して値を代入していますが、
「test2.length」とすることで配列の最後の要素を示すことができます。
上記の場合は3つ目の要素に対して値を代入しています。
要素の削除
配列の要素を削除するには、delete演算子を使います。(その他の方法もあります)
次のようなコードを書いて実行してみます。
//要素の削除 let test3 = []; test3[0] = "z"; test3[1] = "y"; test3[2] = "x"; test3[3] = "w"; console.log(test3[0]); console.log(test3[1]); console.log(test3[2]); console.log(test3[3]); console.log(test3.length); //出力結果は4 //要素のインデックス1を削除 delete test3[1]; console.log(test3[0]); console.log(test3[1]); //出力結果はundefined console.log(test3[2]); console.log(test3[3]); console.log(test3.length); //出力結果は4
上記のコードを実行すると、配列test3の1つめの要素をdelete演算子を使って削除しています。
この時、lengthの結果をみても削除前と削除後は結果は変わらないという特徴があります。
その他の配列要素の削除について
上記の例の他、要素を削除するには、popメソッドやshiftメソッドがあります。
delete演算子とは異なり、popやshiftの場合は要素の数が変動します。
この削除のされ方の違いは、プログラムを実装する際に非常に重要になるので、注意して実装します。
pop、shiftについては、また別途、ブログ記事でとりあげる予定です。