最近、JS インタビューの質問を読みました。次のように説明されています。ユーザー入力を取得するには、var s1=prompt("Please enter any string", "") を使用します。
文字列を使用する場合は、ユーザーが入力した文字列を「反転」して文字列を出力するプログラミングを試してください。
よく考えてみると、文字列オブジェクトのメソッドは逆転を実現していませんでしたが、配列にはありましたので、文字列と配列の相互変換の問題を考えました。
JS の組み込みオブジェクトには、文字列オブジェクト (String) と配列オブジェクト (Array) が含まれます。これら 2 つのオブジェクトは、それぞれのオブジェクト メソッドを通じて相互に認識できます
。
変身した。 String オブジェクトの場合は、文字列を操作するためのプロパティとメソッドが提供され、Array オブジェクトの場合は、配列操作のためのプロパティとメソッドが提供されます
法。したがって、上記の面接の質問を実行するのは簡単です。
1. 文字列を配列に変換します
Stringオブジェクト
のsplit()メソッド
上記のメソッドの機能は、文字列をいくつかのセグメントに分割し、配列を返すことです。つまり、文字列を数値に変換できます。例:
strObj.split (分割番号)、パラメータは分割番号の文字列です。指定された分割番号を使用して文字列を複数のセグメントに分割します。
例:
//要求输出今天是星期几 //定义一个星期字符串 var str="星期日,星期一,星期二,星期三,星期四,星期五,星期六"; //创建一个日期对象 var today=new Date(); //使用today对象的getDay()方法 var week=today.getDay(); //将星期字符串分割成一个数组 var arr=str.split(","); document.write("类型是:"+typeof(arr)+",数组的第一个元素是:"+arr[0]+"<br />"); //输出结果 document.write("今天是:"+arr[week]);
出力結果は次のとおりです: 型はオブジェクト、配列の最初の要素は日曜日です
今日は: 金曜日
2. 配列を文字列に変換し、配列要素を反転します
Array オブジェクトの join() メソッド
上記のメソッドの機能は、配列を文字列に変換することです。例: arrObj.join (接続番号)、指定された接続番号を使用して配列を単語にリンクします
弦。
例:
var arr=["a","b","c"]; var str=arr.join("-"); document.write("类型是:"+typeof(str)+",字符串是:"+str);
出力結果は次のとおりです: type: string、string: a-b-c
Array オブジェクトの reverse() メソッド
上記のメソッドの機能は、配列内の要素の順序を逆にすることです。例: arrObj.reverse()。
例:
var arr=["a","b","c"]; arr.reverse(); document.write(arr);
出力結果は次のとおりです: c,b,a
最後に、インタビューの質問の実装コードを見てみましょう:
/* 利用var s1=prompt("请输入任意的字符串","")可以获取用户输入 的字符串,试编程将用户输入的字符串“反转”,并且将字符串输出。 */ //接受字符串 var s1=prompt("请输入任意的字符串",""); //字符串转换为数组 var arr=s1.split(""); //利用数组对象的reverse()方法实现反转 arr.reverse(); //利用数组的join()方法转换为字符串 var str=arr.join(""); document.write(str);
達成された結果:
以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。