非天マザー by B-CHAN

iPhoneの使い方、IT、ビジネス、金融、経済、不動産、保険、音楽、映画、ニュース、自己啓発その他。

JavaScriptで文字列のn番目の文字をメソッドを使わずにカンタンに取得する方法

文字列のn番目の文字を取得したい

 

 

さあ今回もJavaScript学習中に気付いたことの備忘録を書きますよ。

初心者の人、いっしょにがんばりましょう。

 

今回は、文字列のn番目の文字を取得する方法です。

例えば、

 

var moji = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

 

と言う変数mojiが定義されているとします。

単にアルファベットのABCが並んでいる文字列です。

この中から、左から5番目の文字だけを取り出すにはどうするでしょうか。

 

ボクも初心者なので、最初から勉強しています。

もちろん、メソッドを使うんでしょう。

n番目の文字を取り出すメソッドは、ズバリ、

 

charAt(n)

 

ですね。

なので、

 

var moji = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

var s = moji.charAt(4);

 

とやれば、5番目の文字がsに入ります。0から始まるので、5番目の場合は4を入れるんですね。

 

 

もっとカンタンに

 

 

実は、この話は、これで正解なので終われるんですが、某有名学習サイトで、全然違うやり方に遭遇して戸惑っています。

 

どの参考書を見ても上記のやり方ばかり。

しかし、ボクが遭遇したのは、次のやり方。

 

var moji = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

var s = moji[4];

 

そうです。角括弧に数字を入れるだけ。

 

角括弧と言えば、配列を思い出します。

例えば、

 

var abc = ["A","B","C","D","E","F"];

 

と言う配列なら、

 

abc[4]

 

はEですよね。

 

ところが上記のように、長い文字列でも、配列と同じように数字でn番目の文字が取り出せるんですよね。

これって、どこかの教科書に載ってるんですか?

いろいろ探してみたんですが、具体的に説明しているサイトが見当たらなくて。

中級以上の人には常識なんですかね?

 

とにかく、複数文字の文字列の場合、変数に角括弧でn番目の文字を取り出せる。

 

 

※そして、さらに調べていくと、この方法はどうやら非標準のようです。

 

n番目の文字を取り出すにはcharaAtメソッドを使いましょうってことですね。

 

有名サイトで学習したら、非標準のやり方で回答が示されていた。

ただし、ボクがそれに疑問を持って、こうやって調べたってことは、ボク自身は成長しているってことですかね。

文字列なのに、まるで配列のようにアクセスできるんだ、と言う疑問。

 

以前なら、何の疑問も持たずに、暗記してしまっていたかもしれませんから。

 

と言うわけで奥が深いプログラミングの世界。

引き続き学習を続けます。

 

 

※ツイートしたら、かの小飼弾さんから、返信が!

 

 

 

と言うわけで、右往左往しましたが、今は正式に、

 

moji[4]

 

が使えるそうです。

良かった!