js中實(shí)現(xiàn)字符串和數(shù)組的相互轉(zhuǎn)化詳解
最近看了一道JS的面試題,是這樣描述的:利用var s1=prompt("請(qǐng)輸入任意的字符串","")可以獲取用戶輸入
的字符串,試編程將用戶輸入的字符串“反轉(zhuǎn)”,并且將字符串輸出。
想了一下,字符串對(duì)象的方法中并沒(méi)有實(shí)現(xiàn)反轉(zhuǎn)的,但是數(shù)組中有,于是考慮了字符串和數(shù)組的相互轉(zhuǎn)換問(wèn)題。
JS中的內(nèi)置對(duì)象中包括字符串對(duì)象(String)和數(shù)組對(duì)象(Array),這兩個(gè)對(duì)象是可以通過(guò)它們對(duì)象的方法實(shí)現(xiàn)相互
轉(zhuǎn)化的。對(duì)于String對(duì)象,提供了對(duì)字符串進(jìn)行操作的屬性和方法;對(duì)于Array對(duì)象,提供了數(shù)組操作方面的屬性和方
法。因此我們實(shí)現(xiàn)上面的面試題就容易了。
一、字符串轉(zhuǎn)化為數(shù)組
String對(duì)象中的split()方法
上述方法的功能是:將一個(gè)字符串切割成若干段,返回一個(gè)數(shù)組。也就是說(shuō),可以將一個(gè)字符串轉(zhuǎn)成數(shù)值。如:
strObj.split(分割號(hào)),參數(shù)是一個(gè)分割號(hào)的字符串,用指定的分割號(hào)將字符串切成若干段。
實(shí)例:
//要求輸出今天是星期幾 //定義一個(gè)星期字符串 var str="星期日,星期一,星期二,星期三,星期四,星期五,星期六"; //創(chuàng)建一個(gè)日期對(duì)象 var today=new Date(); //使用today對(duì)象的getDay()方法 var week=today.getDay(); //將星期字符串分割成一個(gè)數(shù)組 var arr=str.split(","); document.write("類型是:"+typeof(arr)+",數(shù)組的第一個(gè)元素是:"+arr[0]+"<br />"); //輸出結(jié)果 document.write("今天是:"+arr[week]);
輸出的結(jié)果是:類型是:object,數(shù)組的第一個(gè)元素是:星期日
今天是:星期五
二、數(shù)組轉(zhuǎn)換為字符串和數(shù)組元素實(shí)現(xiàn)反轉(zhuǎn)
Array對(duì)象的join()方法
上述方法的功能是:將一個(gè)數(shù)組轉(zhuǎn)成字符串。如:arrObj.join(連接號(hào)),將一個(gè)數(shù)組用指定的連接號(hào)鏈接成一個(gè)字
符串。
實(shí)例:
var arr=["a","b","c"]; var str=arr.join("-"); document.write("類型是:"+typeof(str)+",字符串是:"+str);
輸出的結(jié)果是:類型是:string,字符串是:a-b-c
Array對(duì)象的reverse()方法
上述方法的功能是:將數(shù)組中各元素顛倒順序。如:arrObj.reverse()。
實(shí)例:
var arr=["a","b","c"]; arr.reverse(); document.write(arr);
輸出的結(jié)果是:c,b,a
最后我們來(lái)看面試題的實(shí)現(xiàn)代碼:
/* 利用var s1=prompt("請(qǐng)輸入任意的字符串","")可以獲取用戶輸入 的字符串,試編程將用戶輸入的字符串“反轉(zhuǎn)”,并且將字符串輸出。 */ //接受字符串 var s1=prompt("請(qǐng)輸入任意的字符串",""); //字符串轉(zhuǎn)換為數(shù)組 var arr=s1.split(""); //利用數(shù)組對(duì)象的reverse()方法實(shí)現(xiàn)反轉(zhuǎn) arr.reverse(); //利用數(shù)組的join()方法轉(zhuǎn)換為字符串 var str=arr.join(""); document.write(str);
實(shí)現(xiàn)的結(jié)果:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(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對(duì)象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對(duì)象屬性 通過(guò)點(diǎn)(.) 和方括號(hào)([]) 的不同之處
下面小編就為大家?guī)?lái)一篇淺談js對(duì)象屬性 通過(guò)點(diǎn)(.) 和方括號(hào)([]) 的不同之處。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10JavaScript監(jiān)聽(tīng)和禁用瀏覽器回車事件實(shí)例
這篇文章主要介紹了JavaScript監(jiān)聽(tīng)和禁用瀏覽器回車事件實(shí)例,本文直接給出示例代碼,需要的朋友可以參考下2015-01-01JavaScript類型系統(tǒng)之布爾Boolean類型詳解
這篇文章主要介紹了JavaScript類型系統(tǒng)之布爾Boolean類型詳解的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06JavaScript實(shí)現(xiàn)可終止輪詢請(qǐng)求的方法
輪詢請(qǐng)求就是間隔相同的時(shí)間(如5s)后不斷地向服務(wù)端發(fā)起同一個(gè)接口的請(qǐng)求,當(dāng)然不能無(wú)限次去請(qǐng)求,所以輪詢必須要有個(gè)停止輪詢的機(jī)制,今天通過(guò)本文給大家介紹JavaScript實(shí)現(xiàn)可終止的輪詢請(qǐng)求,感興趣的朋友一起看看吧2022-06-06用JavaScript動(dòng)態(tài)建立或增加CSS樣式表的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇用JavaScript動(dòng)態(tài)建立或增加CSS樣式表的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05js canvas畫布實(shí)現(xiàn)高斯模糊效果
這篇文章主要為大家詳細(xì)介紹了js canvas畫布實(shí)現(xiàn)高斯模糊效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11CSS+JS實(shí)現(xiàn)點(diǎn)擊文字彈出定時(shí)自動(dòng)關(guān)閉DIV層菜單的方法
這篇文章主要介紹了CSS+JS實(shí)現(xiàn)點(diǎn)擊文字彈出定時(shí)自動(dòng)關(guān)閉DIV層菜單的方法,設(shè)計(jì)javascript操作菜單的彈出與關(guān)閉的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-05-05setTimeout時(shí)間設(shè)置為0詳細(xì)解析
setTimeout( ) 是屬于 window 的 method, 但我們都是略去 window 這頂層容器名稱, 這是用來(lái)設(shè)定一個(gè)時(shí)間, 時(shí)間到了, 就會(huì)執(zhí)行一個(gè)指定的 method,下面這篇文章主要給大家介紹了關(guān)于setTimeout時(shí)間設(shè)置為0的相關(guān)資料,需要的朋友可以參考下。2018-03-03