久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當前位置:首頁>職場>javascript怎么打印字符串(Javascript常見面試題-實現(xiàn)字符串的逆序輸出)

javascript怎么打印字符串(Javascript常見面試題-實現(xiàn)字符串的逆序輸出)

發(fā)布時間:2024-01-24閱讀(15)

導讀前言在前端Javascript面試過程中,字符串的逆序輸出是一個很常見的面試題,不僅會考察到基礎的前端知識,對于常用的API也是一個考察。那么今天我們就來看....前言

在前端Javascript面試過程中,字符串的逆序輸出是一個很常見的面試題,不僅會考察到基礎的前端知識,對于常用的API也是一個考察。那么今天我們就來看看字符串的逆序輸出的幾種實現(xiàn)方法吧。

javascript怎么打印字符串(Javascript常見面試題-實現(xiàn)字符串的逆序輸出)(1)

Javascript

題目

逆序字符串題目是這樣的,比如給定一個字符串a(chǎn)bcdefg,通過一個算法后輸出gfedcba。題目很容易理解,不做過多解釋,我們直接來看看算法的實現(xiàn)。

我已經(jīng)整理出來所有算法放到github上,如果有感興趣的直接去看源碼。

https://github.com/zhouxiongking/article-pages/blob/master/articles/reverseString/reverseString.js

算法1-數(shù)組reverse

算法1基本思想是借助于數(shù)組的reverse方法。首先將字符串轉(zhuǎn)化為字符數(shù)組,然后通過調(diào)用數(shù)組原生的reverse方法進行逆序,得到逆序數(shù)組后再通過調(diào)用join方法得到逆序字符串。

通過上述的思想,我們得到下面的代碼。

javascript怎么打印字符串(Javascript常見面試題-實現(xiàn)字符串的逆序輸出)(2)

算法1

算法2-利用charAt方法

算法2基本思想是利用字符串本身的charAt方法。從尾部開始遍歷字符串,然后逐個拼接字符,得到最終的結(jié)果。

通過上述的思想,我們得到下面的代碼。

javascript怎么打印字符串(Javascript常見面試題-實現(xiàn)字符串的逆序輸出)(3)

算法2

算法3-遞歸實現(xiàn)

算法3主要思想是通過遞歸實現(xiàn)。主要是針對算法2的另一種實現(xiàn),一般對于循環(huán)實現(xiàn)的方法都可以通過遞歸來實現(xiàn),只要確定好遞歸的變量與遞歸結(jié)束的條件。

遞歸算法的代碼以及測試代碼如下。

javascript怎么打印字符串(Javascript常見面試題-實現(xiàn)字符串的逆序輸出)(4)

算法3

算法4-利用call方法

算法4主要思想是通過call方法來改變slice方法的執(zhí)行主體。將數(shù)組的slice方法調(diào)用call方法后,可以讓字符串具有數(shù)組的特性,從而可以直接調(diào)用reverse方法,最后再通過調(diào)用join方法,得到逆序字符串。

通過上述思想,可以得打下面的算法代碼。

javascript怎么打印字符串(Javascript常見面試題-實現(xiàn)字符串的逆序輸出)(5)

算法4

算法5-利用棧實現(xiàn)

算法5主要思想是借助棧的先進后出原則。

由于在Javascript中并未提供棧的實現(xiàn),我們首先需要實現(xiàn)一個棧的數(shù)據(jù)結(jié)構(gòu),然后在棧中添加插入和彈出的方法,然后利用插入和彈出方法實現(xiàn)字符串逆序。

首先,我們來看下基本數(shù)據(jù)結(jié)構(gòu)-棧的實現(xiàn),其中通過數(shù)組實現(xiàn),包含了入棧和出棧方法。

javascript怎么打印字符串(Javascript常見面試題-實現(xiàn)字符串的逆序輸出)(6)

棧的實現(xiàn)

然后通過棧來實現(xiàn)字符串的逆序。

javascript怎么打印字符串(Javascript常見面試題-實現(xiàn)字符串的逆序輸出)(7)

利用棧實現(xiàn)逆序輸出

結(jié)果測試

針對上面的五種方法,我們統(tǒng)一進行測試,看看結(jié)果是否返回正確。

javascript怎么打印字符串(Javascript常見面試題-實現(xiàn)字符串的逆序輸出)(8)

結(jié)果測試

通過上述的測試代碼,結(jié)果都返回sdgfedcba,證明上述的算法都是正確的。

結(jié)束語

今天這篇文章主要針對Javascript中字符串逆序算法進行講解,這是一道面試過程中很常見的問題,希望大家都能掌握。

歡迎分享轉(zhuǎn)載→http://www.avcorse.com/read-226325.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖