欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

javascript基礎(chǔ)練習(xí)之翻轉(zhuǎn)字符串與回文

翻轉(zhuǎn)字符串

創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元汾陽(yáng)做網(wǎng)站,已為上家服務(wù),為汾陽(yáng)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

翻轉(zhuǎn)字符串(Reverse a String),就是把字符串倒序處理的意思,比如給定一個(gè)字符串”hello”,翻轉(zhuǎn)后應(yīng)該返回”olleh”。

測(cè)試用例

  1. reverseString("hello") 應(yīng)該返回 “olleh”
  2. reverseString("Greetings from Earth") 應(yīng)該返回 “htraE morf sgniteerG”

實(shí)現(xiàn)思路

這里說(shuō)最方便的方法就是將字符串轉(zhuǎn)成數(shù)組,再顛倒數(shù)組并轉(zhuǎn)成字符串返回。需要用到字符串對(duì)象和數(shù)組對(duì)象的內(nèi)置方法:

  1. String.split()
  2. Array.reverse()
  3. Array.join()

具體可以去看JavaScript參考手冊(cè)

function reverseString(str) {
 return str.split('').reverse().join('');
}

reverseString("hello");

一句return搞定,很簡(jiǎn)單有木有?!

在此基礎(chǔ)上來(lái)看看回文是怎么玩的⬇️

回文

“Madam,I'mAdam.” 這是亞當(dāng)在伊甸園里碰上夏娃說(shuō)的第一句話,這句話正著讀和反著讀一模一樣,這樣的句子就是回文,英文里叫Palindrome。

舉個(gè)栗子——“上海自來(lái)水來(lái)自海上”,這句話順著讀和反著讀都是相同的,還有很多英語(yǔ)單詞也是:Level、Madam、Radar、LOL(哈哈哈)…

測(cè)試用例

  1. palindrome("Race Car") 應(yīng)該返回 true
  2. palindrome("not a palindrome") 應(yīng)該返回 false
  3. palindrome("0_0 (: /-\ :) 0-0") 應(yīng)該返回 true

實(shí)現(xiàn)思路

我們需要寫一個(gè)叫palindrome()的方法,傳入一個(gè)叫str的參數(shù),如果str是一個(gè)Palindromes將返回true,反之為false。

需要注意將標(biāo)點(diǎn)符號(hào)和空格去掉并toUpperCase or toLowerCase后再進(jìn)行判斷。

需要用到以下知識(shí)點(diǎn):

  • 正則表達(dá)式 (regular expression) ,用來(lái)過(guò)濾符號(hào)和空格
  • String.replace() 替換與正則表達(dá)式匹配的子串
  • String.toLowerCase() 把字符串轉(zhuǎn)換為小寫

關(guān)于正則表達(dá)式

這里要求匹配大小寫英文字母和整數(shù),任何標(biāo)點(diǎn)符合和空格將被過(guò)濾掉。所以可以使用 /[^A-Za-z0–9]/g 或者 /[\W_]/g

  • [^A-Z] 匹配非26個(gè)大寫字母中的任意一個(gè)
  • [^a-z] 匹配非26個(gè)小寫字母中的任意一個(gè)
  • [^0-9] 匹配非0到9中的任意一個(gè)數(shù)字
  • [^_] 匹配非下劃線
  • ^ 匹配字符串的開(kāi)始
  • \w 注意是小寫,匹配字母或數(shù)字或下劃線或漢字
  • \W 注意是大寫,匹配任意不是字母、數(shù)字、下劃線、漢字的字符,等價(jià)于[^A-Za-z0-9_]
  • g 表示全局搜索

這是我的方法:

function palindrome(str) {
 str = str.replace(/[\W_]/g,'').toLowerCase();
 var reverseStr = str.split('').reverse().join('');
 return str===reverseStr;
}

palindrome("eye");

我在網(wǎng)上看到還可以用For循環(huán)來(lái)實(shí)現(xiàn):

function palindrome (str) {
 var reg = /[\W_]/g,
 regStr = str.toLowerCase().replace(reg, ''),
 len = regStr.length;

 for (var i = 0, halfLen = len / 2; i < halfLen; i++){
 if (regStr[i] !== regStr[len - 1 - i]) {
  return false;
 }
 }
 return true;
}

這個(gè)思路很巧妙的運(yùn)用了回文的特點(diǎn),把整個(gè)字符串切成一半,循環(huán)遍歷并依次判斷首尾字符是否相等。

還有個(gè)運(yùn)用了遞歸的實(shí)現(xiàn):

function palindrome (str) {
 // 刪除字符串中不必要的字符
 var re = /[\W_]/g;
 // 將字符串變成小寫字符
 var lowRegStr = str.toLowerCase().replace(re, '');
 // 如果字符串lowRegStr的length長(zhǎng)度為0時(shí),字符串即是palindrome
 if (lowRegStr.length === 0) {
 return true;
 }

 // 如果字符串的第一個(gè)和最后一個(gè)字符不相同,那么字符串就不是palindrome
 if (lowRegStr[0] !== lowRegStr[lowRegStr.length - 1]) {
 return false;
 } else {
 return palindrome(lowRegStr.slice(1, lowRegStr.length - 1));
 }
}

感覺(jué)另外兩個(gè)實(shí)現(xiàn)思路比我屌多了,自己在編程的路上才走沒(méi)多遠(yuǎn),一步一步來(lái)吧。

對(duì)了,別糾結(jié)翻轉(zhuǎn)字符串和回文的區(qū)別了!翻轉(zhuǎn)字符串僅僅是將倒序后的字符串返回;而回文面對(duì)的則是更長(zhǎng)更復(fù)雜的句子,需要將過(guò)濾掉空格和標(biāo)點(diǎn)符號(hào)的句子和倒序后的句子比較是否相等。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者使用Javascript能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。

網(wǎng)頁(yè)名稱:javascript基礎(chǔ)練習(xí)之翻轉(zhuǎn)字符串與回文
鏈接分享:http://aaarwkj.com/article24/psogce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司、標(biāo)簽優(yōu)化商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
久久99久久久国产精品| 很黄很刺激的视频中文字幕| 免费国产成人在线视频 | 久久精品一偷一偷国产| 亚洲中文字幕高清乱码毛片| 男人一插就想射的原因| 亚洲华人在线免费视频| 亚洲国产成人精品av在线| 日韩女优中文字幕在线播放| 欧美精品福利一区二区| 免费观看国产性生活片| 日本色电影一区二区三区| 中文字幕五月婷婷免费| 持续侵犯人妻中文字幕| 久久国产精品必看狼人| 91人妻成人精品一区二区| 精品国产av色一区二区| 人妻中文字幕在线av| 欧美激情性国产精品潮| 免费福利激情在线播放| 精品中文人妻中文字幕| 日韩大片一区二区三区在线观看 | 精品久久一区麻豆香蕉| 亚洲国产精品一区二区av不卡| 成年人免费在线观看国产| 传媒在线免费观看视频| 亚洲黄色成人免费观看| 久久精品国产亚洲av亚| 日韩精品91一区二区| 欧美日韩国产免费电影| 无人视频在线观看高清91| 全国精品免费视频久久久| 手机在线看国产后入| 国产精品久久一级黄片| 亚洲欧美日韩制服另类| 传媒在线免费观看视频| 亚洲天堂中文字幕麻豆| 人妻91一区二区三区| 欧美欧成人一区二区三区a∨| 亚洲成人久久久久久久| 97精品在线视频免费|