最近看了一道JS的面試題,是這樣描述的:利用var s1=prompt("請輸入任意的字符串","")可以獲取用戶輸入
的字符串,試編程將用戶輸入的字符串“反轉”,並且將字符串輸出。
想了一下,字符串對象的方法中並沒有實現反轉的,但是數組中有,於是考慮了字符串和數組的相互轉換問題。
JS中的內置對象中包括字符串對象(String)和數組對象(Array),這兩個對象是可以通過它們對象的方法實現相互
轉化的。對於String對象,提供了對字符串進行操作的屬性和方法;對於Array對象,提供了數組操作方面的屬性和方
法。因此我們實現上面的面試題就容易了。
一、字符串轉化為數組
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]);
輸出的結果是:類型是:object,數組的第一個元素是:星期日
今天是:星期五
二、數組轉換為字符串和數組元素實現反轉
Array對象的join()方法
上述方法的功能是:將一個數組轉成字符串。如:arrObj.join(連接號),將一個數組用指定的連接號鏈接成一個字
符串。
實例:
var arr=["a","b","c"]; var str=arr.join("-"); document.write("類型是:"+typeof(str)+",字符串是:"+str);
輸出的結果是:類型是: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);
實現的結果:
以上就是本文的全部內容,希望對大家的學習有所幫助。