JavaScript入門 練習問題 38:文字列メソッド:splitによる文字列の配列化
次のコードの実行結果として正しいものはどれですか?
```javascript
const text = "apple,banana,orange";
const fruits = text.split(",");
console.log(fruits.length);
```
- カンマで分割され、文字列の個数である3が出力される
- 文字列全体が一つの要素となり、1という数字が出力される
- カンマの数である2という数字がコンソールに出力される
- 文字数がすべてカウントされ、19という数字が出力される
- 配列にはならず、undefinedという結果が出力される
Qraftユーザーの成績:難易度 Sランク(レーティング1380)・正答率 29%(7/24回正解)
レーティングは解いた人の実力と正誤から算出する難しさ(初期値1200)。ランクはその全問題中の順位(S+が最難関、F-が最易)
正解と解説を見る
正解:カンマで分割され、文字列の個数である3が出力される
splitメソッドは指定した区切り文字で文字列を分割して配列を返すため、カンマで分割されて3つの要素を持つ配列となり、要素数である3が正解です。
【正解の理由】
text.split(",") は文字列を "," で分割し、["apple", "banana", "orange"] という3つの要素を持つ配列を返します。その配列の length プロパティを参照しているため、3が出力されます。
【不正解の理由】
• 「文字列全体が一つの要素となり、1という数字が出力される」は誤り。カンマで正しく分割される
• 「カンマの数である2という数字がコンソールに出力される」は誤り。分割された要素の数が返る
• 「文字数がすべてカウントされ、19という数字が出力される」は誤り。lengthは文字数ではなく配列の要素数
• 「配列にはならず、undefinedという結果が出力される」は誤り。splitメソッドは必ず配列を返す