js中實(shí)現(xiàn)字符串和數(shù)組的相互轉(zhuǎn)化詳解
最近看了一道JS的面試題,是這樣描述的:利用var s1=prompt("請輸入任意的字符串","")可以獲取用戶輸入
的字符串,試編程將用戶輸入的字符串“反轉(zhuǎn)”,并且將字符串輸出。
想了一下,字符串對象的方法中并沒有實(shí)現(xiàn)反轉(zhuǎn)的,但是數(shù)組中有,于是考慮了字符串和數(shù)組的相互轉(zhuǎn)換問題。
JS中的內(nèi)置對象中包括字符串對象(String)和數(shù)組對象(Array),這兩個對象是可以通過它們對象的方法實(shí)現(xiàn)相互
轉(zhuǎn)化的。對于String對象,提供了對字符串進(jìn)行操作的屬性和方法;對于Array對象,提供了數(shù)組操作方面的屬性和方
法。因此我們實(shí)現(xiàn)上面的面試題就容易了。
一、字符串轉(zhuǎn)化為數(shù)組
String對象中的split()方法
上述方法的功能是:將一個字符串切割成若干段,返回一個數(shù)組。也就是說,可以將一個字符串轉(zhuǎn)成數(shù)值。如:
strObj.split(分割號),參數(shù)是一個分割號的字符串,用指定的分割號將字符串切成若干段。
實(shí)例:
//要求輸出今天是星期幾
//定義一個星期字符串
var str="星期日,星期一,星期二,星期三,星期四,星期五,星期六";
//創(chuàng)建一個日期對象
var today=new Date();
//使用today對象的getDay()方法
var week=today.getDay();
//將星期字符串分割成一個數(shù)組
var arr=str.split(",");
document.write("類型是:"+typeof(arr)+",數(shù)組的第一個元素是:"+arr[0]+"<br />");
//輸出結(jié)果
document.write("今天是:"+arr[week]);
輸出的結(jié)果是:類型是:object,數(shù)組的第一個元素是:星期日
今天是:星期五
二、數(shù)組轉(zhuǎn)換為字符串和數(shù)組元素實(shí)現(xiàn)反轉(zhuǎn)
Array對象的join()方法
上述方法的功能是:將一個數(shù)組轉(zhuǎn)成字符串。如:arrObj.join(連接號),將一個數(shù)組用指定的連接號鏈接成一個字
符串。
實(shí)例:
var arr=["a","b","c"];
var str=arr.join("-");
document.write("類型是:"+typeof(str)+",字符串是:"+str);
輸出的結(jié)果是:類型是:string,字符串是:a-b-c
Array對象的reverse()方法
上述方法的功能是:將數(shù)組中各元素顛倒順序。如:arrObj.reverse()。
實(shí)例:
var arr=["a","b","c"]; arr.reverse(); document.write(arr);
輸出的結(jié)果是:c,b,a
最后我們來看面試題的實(shí)現(xiàn)代碼:
/*
利用var s1=prompt("請輸入任意的字符串","")可以獲取用戶輸入
的字符串,試編程將用戶輸入的字符串“反轉(zhuǎn)”,并且將字符串輸出。
*/
//接受字符串
var s1=prompt("請輸入任意的字符串","");
//字符串轉(zhuǎn)換為數(shù)組
var arr=s1.split("");
//利用數(shù)組對象的reverse()方法實(shí)現(xiàn)反轉(zhuǎn)
arr.reverse();
//利用數(shù)組的join()方法轉(zhuǎn)換為字符串
var str=arr.join("");
document.write(str);
實(shí)現(xiàn)的結(jié)果:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
- JS字符串和數(shù)組如何實(shí)現(xiàn)相互轉(zhuǎn)化
- Go 結(jié)構(gòu)體、數(shù)組、字典和 json 字符串的相互轉(zhuǎn)換方法
- javascript實(shí)現(xiàn)的字符串轉(zhuǎn)換成數(shù)組操作示例
- JS實(shí)現(xiàn)將二維數(shù)組轉(zhuǎn)為json格式字符串操作示例
- javascript中json對象json數(shù)組json字符串互轉(zhuǎn)及取值方法
- js實(shí)現(xiàn)字符串和數(shù)組之間相互轉(zhuǎn)換操作
- js數(shù)組與字符串的相互轉(zhuǎn)換方法
- JS數(shù)組轉(zhuǎn)字符串實(shí)現(xiàn)方法解析
相關(guān)文章
淺談js對象屬性 通過點(diǎn)(.) 和方括號([]) 的不同之處
下面小編就為大家?guī)硪黄獪\談js對象屬性 通過點(diǎn)(.) 和方括號([]) 的不同之處。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10
JavaScript監(jiān)聽和禁用瀏覽器回車事件實(shí)例
這篇文章主要介紹了JavaScript監(jiān)聽和禁用瀏覽器回車事件實(shí)例,本文直接給出示例代碼,需要的朋友可以參考下2015-01-01
JavaScript類型系統(tǒng)之布爾Boolean類型詳解
這篇文章主要介紹了JavaScript類型系統(tǒng)之布爾Boolean類型詳解的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-06-06
JavaScript實(shí)現(xiàn)可終止輪詢請求的方法
輪詢請求就是間隔相同的時間(如5s)后不斷地向服務(wù)端發(fā)起同一個接口的請求,當(dāng)然不能無限次去請求,所以輪詢必須要有個停止輪詢的機(jī)制,今天通過本文給大家介紹JavaScript實(shí)現(xiàn)可終止的輪詢請求,感興趣的朋友一起看看吧2022-06-06
用JavaScript動態(tài)建立或增加CSS樣式表的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄肑avaScript動態(tài)建立或增加CSS樣式表的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05
js canvas畫布實(shí)現(xiàn)高斯模糊效果
這篇文章主要為大家詳細(xì)介紹了js canvas畫布實(shí)現(xiàn)高斯模糊效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-11-11
CSS+JS實(shí)現(xiàn)點(diǎn)擊文字彈出定時自動關(guān)閉DIV層菜單的方法
這篇文章主要介紹了CSS+JS實(shí)現(xiàn)點(diǎn)擊文字彈出定時自動關(guān)閉DIV層菜單的方法,設(shè)計javascript操作菜單的彈出與關(guān)閉的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-05-05

