最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用JavaScript字符串解決回文數(shù)的方案詳解

 更新時間:2024年05月07日 09:15:14   作者:長安故里_  
這篇文章主要介紹了使用JavaScript字符串解決回文數(shù)的方案,JavaScript中的字符串是一種數(shù)據(jù)類型,用于表示文本數(shù)據(jù),字符串可以包含任意字符序列,包括字母、數(shù)字、符號和空格,靈活掌握字符串的解決問題思想,巧用字符串解決回文數(shù),需要的朋友可以參考下

前言:

JavaScript中的字符串是一種數(shù)據(jù)類型,用于表示文本數(shù)據(jù)。字符串可以包含任意字符序列,包括字母、數(shù)字、符號和空格。靈活掌握字符串的解決問題思想,巧用字符串解決回文數(shù)。

正文

1.如何將字符串中的一個字符移除掉

思路一:想想字符串中是否自帶一個方法將某一個字符移除?借問搜索引擎,沒有此方法。

思路二:JS中是否有別的數(shù)據(jù)結(jié)構(gòu)能夠移除其中的一個字符,再將字符串轉(zhuǎn)化為為那個數(shù)據(jù)結(jié)構(gòu)。是的,數(shù)組有這個功能,只要將字符串轉(zhuǎn)化為數(shù)組就行。

實現(xiàn)功能:

let str = 'hello world'

console.log(str.split(''));

split將字符串中的每一個字符都作為一個元素放到數(shù)組中去。緊接著如何移除一個字符 e ?

let str = 'hello world'

console.log(str.split('').splice(1,1));

會發(fā)現(xiàn),這并不能移除 e 而是返回下標(biāo)1的字符 e 。這里可以自定義一個數(shù)組進(jìn)行移除。

let str = 'hello world'

let strArr = str.split('')
strArr.splice(1,1)
console.log(strArr);

通過定義一個 strArr 的數(shù)組,在進(jìn)行下標(biāo)的移除,此時 strArr 不會在受到影響。

但需要面臨的問題是,這是數(shù)組下的splice方法,如何使數(shù)組轉(zhuǎn)化為字符串?仍是兩種思路

思路一:數(shù)組自帶一個方法住轉(zhuǎn)化為字符串(join)

以橫杠的方式進(jìn)行字符串的拼接。

思路二:自己手搓一個方法,將數(shù)組中的元素一個一個轉(zhuǎn)化為字符儲存在字符串中。

let str = 'hello world'

function spliceStr (str,index) {
    let newStr = ''
    for (let i = 0;i < str.length;i++) {
        if( i != index)
        newStr += str[i]
    }
    return newStr
} 

console.log(spliceStr(str,1));

給出 str 的一個下標(biāo),遍歷每一個字符串,將每一個str 的下標(biāo)加到 newStr 中去,但是為了不讓,每一個都加到 newStr 中,給出一個判斷語句,if( i != index),滿足所有的條件才加到里面去,最后返回結(jié)果。

結(jié)果符合預(yù)期。

2.切割一個字符串(slice)

字符串中存在一個方法自己進(jìn)行切割其中的字符,slice 。

let str = 'hello world'

console.log(str.slice(1,3));
console.log(str);

這里會發(fā)現(xiàn),字符串本身不會受到影響,會將切割的字符移除。并且,這是一個左閉右開的區(qū)間【即包含下標(biāo)一的字符不包含下標(biāo)三的?!?/p>

這里就是大概字符串的介紹。

3.如何使用字符串解決回文數(shù)【從右到左和從左到右一樣】

let str = 'ababa'

function isPalindrome(str) {
    let arr = str.split('').reverse()
    let newStr = arr.join('')
   if(str == newStr){
    console.log();
    return true
   }
}
isPalindrome(str)

將字符串轉(zhuǎn)化為數(shù)組 let arr = str.split('').reverse(),然而數(shù)組是復(fù)雜數(shù)據(jù)類型,無法進(jìn)行直接相等比較,在將數(shù)組轉(zhuǎn)化為字符串這種簡單數(shù)據(jù)類型 let newStr = arr.join(''),在將if相等比較,最后返回true。

let str = 'ababa'

function isPalindrome(str) {
    let i = 0
    let j = length - 1

    while(i < j){
        if(str[i] === str[j]){
            i++
            j--
        }else {
            return false
        }
    }
}

isPalindrome(str)

這里左右手各拿一個數(shù),依次遍歷比較兩個值是否相等?若不相等,則返回false,否則就是true,就判斷出這是回文數(shù)。

結(jié)果沒有返回false,所以沒問題。

總結(jié)

理解字符串做算法題的思路:1:從自身方法中去找 2:自己手搓一個方法來解決問題。

這兩個思路很重要,再就是從左右兩邊用指針來進(jìn)行回文數(shù)的比較。

以上就是使用JavaScript字符串解決回文數(shù)的方案詳解的詳細(xì)內(nèi)容,更多關(guān)于JavaScript字符串解決回文數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 封裝獲取dom元素的簡單實例

    封裝獲取dom元素的簡單實例

    下面小編就為大家?guī)硪黄庋b獲取dom元素的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • 如何正確理解javascript的模塊化

    如何正確理解javascript的模塊化

    模塊化在項目中十分的重要,一個復(fù)雜的項目肯定有很多相似的功能模塊,如果每次都需要重新編寫模塊肯定既費時又耗力。但是引用別人編寫模塊的前提是要有統(tǒng)一的“打開姿勢”,如果每個人有各自的寫法,那么肯定會亂套,下面介紹幾種JS的模塊化的規(guī)范。
    2017-03-03
  • 用JS實現(xiàn)網(wǎng)頁元素陰影效果的研究總結(jié)

    用JS實現(xiàn)網(wǎng)頁元素陰影效果的研究總結(jié)

    用JS實現(xiàn)網(wǎng)頁元素陰影效果的研究總結(jié)...
    2007-08-08
  • 解決layui頁面按鈕點擊無反應(yīng),也不報錯的問題

    解決layui頁面按鈕點擊無反應(yīng),也不報錯的問題

    今天小編就為大家分享一篇解決layui頁面按鈕點擊無反應(yīng),也不報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • js取兩個數(shù)組的交集|差集|并集|補(bǔ)集|去重示例代碼

    js取兩個數(shù)組的交集|差集|并集|補(bǔ)集|去重示例代碼

    求兩個集合的補(bǔ)集、交集、差集、并集等等在實際應(yīng)用中經(jīng)常會使用到,下面與大家分享下具體的實現(xiàn)代碼,感興趣的朋友可以參考下,希望對大家有所幫助
    2013-08-08
  • div模擬滾動條效果示例代碼

    div模擬滾動條效果示例代碼

    滾動條想必大家都見過吧,在本文將使用div來模擬滾動條的效果,具體實現(xiàn)如下,感興趣的朋友可以參考下
    2013-10-10
  • 如何動態(tài)加載外部Javascript文件

    如何動態(tài)加載外部Javascript文件

    這篇文章主要介紹了如何動態(tài)加載外部Javascript文件,本文舉例講解使用js加載器動態(tài)加載外部Javascript文件,感興趣的小伙伴們可以參考一下
    2015-12-12
  • JavaScript進(jìn)階練習(xí)及簡單實例分析

    JavaScript進(jìn)階練習(xí)及簡單實例分析

    下面小編就為大家?guī)硪黄狫avaScript進(jìn)階練習(xí)及簡單實例分析。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • js原生map實現(xiàn)的方法總結(jié)

    js原生map實現(xiàn)的方法總結(jié)

    在本篇文章里小編給大家整理了關(guān)于js原生map實現(xiàn)的方法以及實例分析內(nèi)容,需要的朋友們可以參考下。
    2020-01-01
  • Javascript 匿名函數(shù)及其代碼模式原理

    Javascript 匿名函數(shù)及其代碼模式原理

    很多同學(xué)知道怎么用這種匿名函數(shù),卻或許并不明白為什么這樣寫就能夠調(diào)用匿名函數(shù)。也許知道后面的圓括號是執(zhí)行前面的函數(shù),而并不清楚前面的圓括號具有何種含義!本文將帶你了解匿名函數(shù)的代碼模式原理。
    2010-03-03

最新評論

灵寿县| 万载县| 临西县| 岳普湖县| 金溪县| 高台县| 白山市| 天等县| 濉溪县| 荃湾区| 蒲江县| 武山县| 隆安县| 永修县| 曲麻莱县| 晋江市| 宣武区| 海伦市| 建平县| 云霄县| 青岛市| 来凤县| 伊宁县| 长丰县| 贵州省| 隆安县| 武安市| 中西区| 虹口区| 双城市| 太康县| 若尔盖县| 浦县| 丰原市| 抚宁县| 宾川县| 资源县| 赣榆县| 新乡县| 疏附县| 盐边县|