早上起來看了一道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);
~~~
實現的結果:


- 前言
- HTML學習1:Dreamweaver8的安裝
- HTML學習2:初識HTML
- HTML學習3:常用標簽之文本標簽
- HTML學習4:常用標簽之列表標簽
- HTML學習5:常用標簽之圖像標簽
- HTML學習6:常用標簽之超鏈接標簽
- HTML學習7:常用標簽之表格標簽
- HTML學習8:常用標簽之框架標簽
- HTML學習9:常用標簽之表單標簽
- HTML學習10:表單格式化
- HTML學習11:HTTP 方法
- HTML學習12:其他常見標簽之頭標簽
- HTML學習13:其他常見標簽之體標簽
- 輕松學習JavaScript一:為什么學習JavaScript
- 輕松學習JavaScript二:JavaScript語言的基本語法要求
- 輕松學習JavaScript三:JavaScript與HTML的結合
- 輕松學習JavaScript四:JS點擊燈泡來點亮或熄滅這盞燈的網頁特效映射出JS在HTML中作用
- 輕松學習JavaScript五:JavaScript的變量和數據類型
- 輕松學習JavaScript六:JavaScript的表達式與運算符
- 輕松學習JavaScript七:JavaScript的流程控制語句
- 輕松學習JavaScript八:JavaScript函數
- 輕松學習JavaScript九:JavaScript對象和數組
- 輕松學習JavaScript十:JavaScript的Date對象制作一個簡易鐘表
- 輕松學習JavaScript十一:JavaScript基本類型(包含類型轉換)和引用類型
- 輕松學習JavaScript十二:JavaScript基于面向對象之創建對象(一)
- 輕松學習JavaScript十二:JavaScript基于面向對象之創建對象(二)
- 輕松學習JavaScript十三:JavaScript基于面向對象之繼承(包含面向對象繼承機制)
- 輕松學習JavaScript十四:JavaScript的RegExp對象(正則表達式)
- 輕松學習JavaScript十五:JavaScript之BOM簡介
- 輕松學習JavaScript十六:JavaScript的BOM學習(一)
- 輕松學習JavaScript十七:JavaScript的BOM學習(二)
- 輕松學習JavaScript二十九:JavaScript中的this詳解
- CSS基礎學習一:CSS概述
- CSS基礎學習二:如何創建 CSS
- CSS基礎學習三:CSS語法
- CSS基礎學習四:元素選擇器
- CSS基礎學習五:類選擇器
- CSS基礎學習六:id選擇器
- CSS基礎學習七:屬性選擇器
- CSS基礎學習八:派生選擇器
- CSS基礎學習九:偽類
- CSS基礎學習十:偽元素
- CSS基礎學習十一:選擇器的優先級
- CSS基礎學習十二:CSS樣式
- CSS基礎學習十三:盒子模型
- CSS基礎學習十四:盒子模型補充之display屬性設置
- CSS基礎學習十五:盒子模型補充之外邊距合并
- CSS基礎學習十六:CSS盒子模型補充之border-radius屬性
- CSS基礎學習十七:CSS布局之定位
- CSS基礎學習十八:CSS布局之浮動
- CSS基礎學習十九:CSS布局之圖文混排,圖像簽名,多圖拼接和圖片特效
- DIV+CSS實操一:經管系網頁總體模塊布局
- DIV+CSS實操二:經管系網頁添加導航欄和友情鏈接欄
- DIV+CSS實操三:經管系網頁內容模塊添加標題欄和版權信息模塊
- DIV+CSS實操四:經管系網頁內容模塊內容添加(一)
- DIV+CSS實操五:經管系網頁內容模塊內容添加(二)
- DIV+CSS實操六:經管系網頁添加導航欄下拉菜單
- DIV+CSS實操七:中文系內容模塊控制文本不換行和超出指定寬度后用省略號代替
- JS中實現字符串和數組的相互轉化