この章ではArrayオブジェクトについて説明します。
Arrayオブジェクのプロパティやメソッドで配列に対して様々な操作を行うことが出来ます。
配列の要素の順番を変えたりするプロパティやメソッドについて説明します。 length プロパティは配列の最後の添え字に1を足した数を返します。
では例をみてみましょう。 =>添え字に1を足した数を返すと書きましたが、簡単に言いますと要素の数です。
要素の数は5個なので、5を返します。
=>「配列.length =数;」と言う形式で記述すると配列の要素を増やしたり、減らしたりすることが出来ます。
この例の場合は配列の要素を2つ増やして、7にしています。
追加した残りの要素には何も入っていないので、
と、出力すると結果は
undefined
undefined
です(未定義値)。
逆にperson1.length=2;と、要素数を減らすと残りの要素は無くなってしまいますので、for文で取り出すと
結果は
kondou
shimizu
です。 toStringメソッドはArrayオブジェクトを文字列に変換します。
配列の要素を「,」で繋げた形で出力されます。
では例をみてみましょう。 結果は以下の通りです。 joinは配列の要素を指定した区切り文字で区切って繋げてくれます。
例の場合は「@」で区切っています。
では例をみてみましょう。 結果は以下の通りです。 以下のようにjoinのカッコの中をカラにしますと、「,」で連結されます。
person1.toString()と同じ結果になります。 結果は2つとも以下の通りです。 sortメソッドはArrayオブジェクトをアルファベットの順番に変えます。
では例をみてみましょう。 結果は上から以下のように出力します。 アルファベットを使った配列の場合はアルファべット順に変えてくれるので問題ないですが、
のように要素が数字の場合は数字の順番に並べてくれるわけではないので、気を付けてください。 reverseメソッドはArrayオブジェクトを現在の要素と逆順に変えます。
では例をみてみましょう。 結果は上から以下のように出力します。 sliceメソッドは配列の要素を取り出します。
では例をみてみましょう。 以下に開始位置、終了位置の数え方を書きます。
終了位置は指定した位置の一つ前までになります。
0番目 kondou
1番目 shimizu
2番目 honda
3番目 doumoto
4番目 inukai
結果は上から以下の通り出力します。 =>spliceは開始位置から数えて何個置換するか決めて、それを置換文字列で置き換えます。
=>開始位置から何個削除するか指定すると、その要素が削除されます。
では例をみてみましょう。 では説明を始めます。 切り取った要素はこの例のsのように受け取ることが出来ます。 3個切り取ったのに、2個しか代わりに入れなかった場合には要素数が1つ減ることになります。
逆に3個切り取って、代わりに4個入れた場合は要素数が1つ増えることになります。
結果は上から以下の通り出力します。 popメソッドは、配列の一番後ろの要素を削除します(要素の数は1つ減る)。
では例をみてみましょう。 結果は上から以下の通り出力します。 削除したものを受け取りたい場合はのように変数で受け取ります。
最後にと、出力すると末尾のinukaiが削除された状態で出力されているのが解ると思います(元の配列も実際に削除されます)。 pushメソッドは、配列の末尾に要素を追加します(追加した分、要素数は増えます)。
カンマで区切れば、いくらでも要素を追加することが出来ます。
では例をみてみましょう。 結果は上から以下の通り出力します。 要素数を受け取りたい場合はのように変数で受け取ります。
この例の場合は4です。
つまり、pushメソッドの戻り値は要素数です。
を出力するとkonno,hiroが追加されているのがわかります。 shiftメソッドは、配列の一番前の要素を削除します(要素の数は1つ減ります)。
では例をみてみましょう。 削除した要素を受け取りたい場合はのように変数で受け取ります。
で出力すると実際にkondouが削除されて出力されているのが解ります。
結果は上から以下の通り出力します。 unshiftメソッドは、配列の一番前に要素を追加します(追加した分、要素数は増えます)。
カンマで区切れば、いくらでも追加することが出来ます。
では例をみてみましょう。 要素数を受け取りたい場合は のように変数で受け取ります。この例の場合は7です。
つまり、unshiftメソッドの戻り値は要素数です。
で出力するとyumenoとnakataが追加されているのがわかります。 例えば以下のsliceメソッドは文字を取り出していますが、これは元の配列には影響しませんが、上のpopメソッドなどは実際の配列まで変化します。 上から出力すると以下の通りに出力しますが、途中で取り出しても最初と最後の配列の要素が変わっていないことが分かります。