CodeIQ MAGAZINECodeIQ MAGAZINE

【選択式問題】JavaScript検定RPG String編 問題解説 #javascript

2015.11.11 Category:CodeIQ問題解説・リーダーボード Tag:

  • 4
  • このエントリーをはてなブックマークに追加
eye_catch

JavaScript の知識を駆使して敵を倒す『JavaScript検定RPG』。

今回の『String編』は全て解けましたか? というわけで、解答と解説をどうぞ!
by クロノス・クラウン合同会社 柳井政和

今回の問題

今回の『JavaScript検定RPG』は『String編』ということで、JavaScriptのStringについての問題が出題されました。

それでは以下、各問題とその解答を見ていきましょう。

問題1

文字列の特定の位置の文字を得る方法として、適切でないのはどれ?

"ねこみみ".charAt(0)
"ねこみみ"(1)
"ねこみみ"[2]

JavaScriptでは、文字列の特定の位置の文字を得る方法が2つあります。1つ目は「文字列.charAt(位置)」と書く方法です。2つ目は、「文字列[位置]」と書く方法です。

「文字列(位置)」として、文字を得ることはできません。

そのため答えは、2番目の「”ねこみみ”(1)」になります。

// 参考コード
console.log("ねこみみ".charAt(0));
try {
    console.log("ねこみみ"(1));
} catch(e) {
    console.log(e);
}
console.log("ねこみみ"[2]);

参考1:String – JavaScript | MDN

問題2

文字列の長さを得る方法は?

length("neko")
String.length("inu")
"saru".length()
"kiji".length

JavaScriptでは、「文字列.length」で、文字列の長さを得られます。

そのため答えは、4番目の「”kiji”.length」になります。

// 参考コード
try {
    console.log(length("neko"));
} catch(e) {
    console.log(e);
}
try {
    console.log(String.length("inu"));
} catch(e) {
    console.log(e);
}
try {
    console.log("saru".length());
} catch(e) {
    console.log(e);
}
console.log("kiji".length);

参考1:String – JavaScript | MDN

問題3

2つの文字列を連結する方法として、適切でないのはどれ?

String("mura", "machi")
"yama" + "kawa"
"umi".concat("sora")

JavaScriptでは、「文字列 + 文字列」と書くことで、文字列を連結できます。また、「文字列.concat(文字列)」でも、文字列を連結できます。

「String()」は、引数を1つしか取らないために、複数指定しても意味がありません。

そのため答えは、0番目の「String(“mura”, “machi”)」になります。

// 参考コード
console.log(String("mura", "machi"));
console.log("yama" + "kawa");
console.log("umi".concat("sora"));

参考:String – JavaScript | MDN

参考:String.prototype.concat() – JavaScript | MDN

問題4

文字aの、次の文字を得る式として適切なものはどれ?

"a".charCodeAt(0).fromCharCode(1)
charCode("a".charCodeAt(0) + 1)
String.charCodeAt("a".fromCharCode(0) + 1)
String.fromCharCode("a".charCodeAt(0) + 1)

文字列から、文字コードを得るには「文字列.charCodeAt(位置)」を使います。

文字コードから、文字列を生成するには、「String.fromCharCode(文字コード)」を使います。

そのため答えは、4番目の「String.fromCharCode(“a”.charCodeAt(0) + 1)」になります。

// 参考コード
try {
    console.log("a".charCodeAt(0).fromCharCode(1));
} catch(e) {
    console.log(e);
}
try {
    console.log(charCode("a".charCodeAt(0) + 1));
} catch(e) {
    console.log(e);
}
try {
    console.log(String.charCodeAt("a".fromCharCode(0) + 1));
} catch(e) {
    console.log(e);
}
String.fromCharCode("a".charCodeAt(0) + 1)

参考:String.prototype.charCodeAt() – JavaScript | MDN

参考:String.fromCharCode() – JavaScript | MDN

CodeIQ運営事務局より

柳井さん、ありがとうございました!
現在、柳井さんの最新問題が出題中です。
ぜひ挑戦してみてくださいね!

  • 4
  • このエントリーをはてなブックマークに追加

■この記事を書いた人

avatar

クロノス・クラウン合同会社 柳井政和

クロノス・クラウン合同会社 代表。ゲームやアプリを作ったり、プログラムを 書いたり、文章を書いたり、絵を描いたり。『マンガでわかるJavaScript』、 CodeIQの問題を解説付きでまとめた『プログラマのためのコードパズル~ JavaScriptで挑むコードゴルフとアルゴリズム』執筆。 twitter: @ruten Web Site: http://crocro.com/

■関連記事

【謎解きプログラム】解像度に対応せよ!【dpi】解答と解説... 【謎解きプログラム】解像度に対応せよ!【dpi】 本問題は、「解像度に対応せよ!」というテーマで、プログラムにちなんだ謎を解くというものでした。 それでは以下、各問題とその解答を見ていきましょう。 問題のオープニング ある日、出社すると、あなたのPCのログイン画面に、謎の挑戦状が表示されてい...
【選択式問題】JavaScript検定RPG Array編 問題解説 #javascript... 今回の問題 今回の『JavaScript検定RPG』は『Array編』ということで、JavaScript のArrayについての問題が出題されました。 それでは以下、各問題とその解答を見ていきましょう。 問題1 配列を作る方法として適切でないのはどれ? new Array(0, 1, 2)...
【選択式問題】JavaScript検定RPG ループ処理編 問題解説 #javascript... 今回の問題 今回の『JavaScript検定RPG』は『ループ処理編』ということで、JavaScript のループ処理についての問題が出題されました。 それでは以下、各問題とその解答を見ていきましょう。 問題1 for (var i = 0, s = ""; i < 5; i++) s +=...
【選択式問題】JavaScript検定RPG 条件分岐編──問題解説 #javascript... 今回の問題 今回の『JavaScript検定RPG』は『条件分岐編』ということで、JavaScript の条件分岐についての問題が出題されました。 それでは以下、各問題とその解答を見ていきましょう。 問題1 ifのあとに書き、条件に一致しない場合の処理を行う構文は何? elf dwarf ...
大人気ダンジョンシリーズ!IQのダンジョンの解説+最短コード発表 #javascript... IQのダンジョン 今回の ダンジョンは、以下のような問題でした。 【問題】 標準入力から得られる値は「」のような文字列です。この文字列を、配列として解釈した配列の各要素には、36進数(0,1,2~,x,y,z)の数値を表す文字列が入っています。 この配列の各要素を、36進数の数字として解釈し...
【選択式問題】JavaScript検定RPG Object編 問題解説 #javascript... 今回の問題 今回の『JavaScript検定RPG』は『Object編』ということで、JavaScriptのObjectについての問題が出題されました。 それでは以下、各問題とその解答を見ていきましょう。 問題1 オブジェクトを作る方法として正しいのはどれ? newObject() obj...

今週のPickUPレポート

新着記事

週間ランキング

CodeIQとは

CodeIQ(コードアイキュー)とは、自分の実力を知りたいITエンジニア向けの、実務スキル評価サービスです。

CodeIQご利用にあたって
関連サイト
codeiq

リクルートグループサイトへ