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

js回文數(shù)的4種判斷方法示例

 更新時(shí)間:2019年06月04日 08:28:40   作者:weiqinl  
這篇文章主要給大家介紹了關(guān)于js回文數(shù)的4種判斷方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

前言

判斷一個(gè)整數(shù)是否是回文數(shù)?;匚臄?shù)是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數(shù)。

例如:

121,是回文數(shù)。
1221, 是回文數(shù)。
1234,不是回文數(shù)。
-121,也不是回文數(shù)。

一些特殊的情況:

  • 0-9的數(shù)字,都可以稱為回文。
  • 不等于0,且尾數(shù)是0的數(shù)字,都不是回文。
  • 負(fù)數(shù)都不是回文。

1. 字符串的轉(zhuǎn)換

1.1 簡單點(diǎn),使用高階函數(shù)來完成

思路: 先將數(shù)字轉(zhuǎn)成字符串A,再經(jīng)過變成數(shù)組,數(shù)組反轉(zhuǎn),數(shù)組變成字符串B三步操作之后,比較字符串A和B,得出結(jié)論。

/**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
  if ( x < 0 ) return false
  let str = '' + x
  return Array.from(str).reverse().join('') === str
};

1.2 從后往前循環(huán)字符串?dāng)?shù)組

思路:將數(shù)字轉(zhuǎn)換成字符串A,從后往前循環(huán)字符串A,將循環(huán)出來的字符拼接成新的字符串B,比較字符串A和B,得出結(jié)論。

/**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
  let str = x + ''
  let newStr = ''
  for(let len = str.length, i = len - 1; i >= 0 ; i--) {
    newStr += str[i]
  }}
  return newStr === str
};

1.3 以中間數(shù)為節(jié)點(diǎn),判斷左右兩邊首尾是否相等

/**
 * 以中間數(shù)為節(jié)點(diǎn),判斷左右兩邊首尾是否相等
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
  if ( x < 0 || (x !== 0 && x % 10 === 0)) {
    return false
  } else if ( 0 <= x && x < 10) {
    return true
  }
  x = '' + x
  for(let i = 0 ; i < x.length/2; i++) {
    if (x[i] !== x[x.length - i - 1]) {
      return false
    }
  }
  return true
};

2. 數(shù)字轉(zhuǎn)換

2.1 求模得尾數(shù),除10得整數(shù)

思路: 先判斷一些特殊情況【小于0的、尾數(shù)為0的、小于10的正整數(shù)】。之后,將整數(shù)反轉(zhuǎn),反轉(zhuǎn)前后兩個(gè)整數(shù)是否相等來判斷是否為回文整數(shù)。

這里的反轉(zhuǎn):將整數(shù)求模得到尾數(shù),之后每求一次模,都再原數(shù)上添加一位(通過*10來得到),這樣就能得到一個(gè)反轉(zhuǎn)的數(shù)。

計(jì)算需要求模的次數(shù): 將整數(shù)除10,來計(jì)算求模的次數(shù)。Math.floor() 返回小于或等于一個(gè)給定數(shù)字的最大整數(shù)。

/**
 * 求模得尾數(shù),除10得整數(shù)
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
  if ( x < 0 || (x !== 0 && x % 10 === 0)) {
    return false
  } else if ( 0 <= x && x < 10) {
    return true
  }
  let y = x
  let num = 0
  while(x !== 0) {
    num = x % 10 + num * 10
    x = Math.floor(x / 10)
  }
  return y === num
};

以上即是回文數(shù)的判斷方法,如有其它方法,可以補(bǔ)充。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • js圖片輪播插件的封裝

    js圖片輪播插件的封裝

    這篇文章主要為大家詳細(xì)介紹了js圖片輪播插件的封裝代碼,只需要獲取到圖片和按鈕,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • JS實(shí)現(xiàn)屏蔽網(wǎng)頁右鍵復(fù)制及ctrl+c復(fù)制的方法【2種方法】

    JS實(shí)現(xiàn)屏蔽網(wǎng)頁右鍵復(fù)制及ctrl+c復(fù)制的方法【2種方法】

    這篇文章主要介紹了JS實(shí)現(xiàn)屏蔽網(wǎng)頁右鍵復(fù)制及ctrl+c復(fù)制的方法,結(jié)合實(shí)例形式分析了2種比較常用的屏蔽復(fù)制功能的技巧,需要的朋友可以參考下
    2016-09-09
  • 理解Javascript_09_Function與Object

    理解Javascript_09_Function與Object

    在《理解Javascript_08_函數(shù)對(duì)象》中講解了很多函數(shù)對(duì)象的問題,同時(shí)也留下了許多疑問,今天讓我們來解答部分問題。
    2010-10-10
  • JavaScript實(shí)現(xiàn)篩選數(shù)組

    JavaScript實(shí)現(xiàn)篩選數(shù)組

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)篩選數(shù)組,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • JavaScript代碼判斷點(diǎn)擊第幾個(gè)按鈕

    JavaScript代碼判斷點(diǎn)擊第幾個(gè)按鈕

    javascript點(diǎn)擊按鈕需求,在項(xiàng)目開發(fā)過程中經(jīng)常遇到,本文通過一段代碼給大家分享javascript代碼判斷點(diǎn)擊第幾個(gè)按鈕,對(duì)本文感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • 微信小程序 組件的外部樣式externalClasses使用詳解

    微信小程序 組件的外部樣式externalClasses使用詳解

    這篇文章主要介紹了微信小程序里 組件的外部樣式externalClasses使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 常用前端手寫功能進(jìn)階示例詳解

    常用前端手寫功能進(jìn)階示例詳解

    這篇文章主要為大家介紹了前端手寫功能進(jìn)階的相關(guān)技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • JS document內(nèi)容及樣式操作完整示例

    JS document內(nèi)容及樣式操作完整示例

    這篇文章主要介紹了JS document內(nèi)容及樣式操作,結(jié)合完整實(shí)例形式分析了JavaScript document內(nèi)容及樣式的獲取、修改、添加等相關(guān)操作技巧,需要的朋友可以參考下
    2020-01-01
  • js實(shí)現(xiàn)跨域的4種實(shí)用方法原理分析

    js實(shí)現(xiàn)跨域的4種實(shí)用方法原理分析

    這篇文章主要分析了js實(shí)現(xiàn)跨域的4種實(shí)用方法原理,主要是使用jsonp跨域,使用window.name來進(jìn)行跨域,對(duì)這方面感興趣的朋友可以參考一下
    2015-10-10
  • 純JS實(shí)現(xiàn)五子棋游戲

    純JS實(shí)現(xiàn)五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了純JS實(shí)現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05

最新評(píng)論

通州区| 桂平市| 阿瓦提县| 临猗县| 越西县| 邹城市| 盐城市| 金沙县| 通化市| 九江市| 南溪县| 葵青区| 同江市| 丹棱县| 湄潭县| 武威市| 双城市| 文登市| 宜宾县| 邻水| 乐至县| 丽江市| 广南县| 石柱| 页游| 泰顺县| 盐山县| 麻阳| 志丹县| 门头沟区| 高邑县| 牟定县| 蓝山县| 永泰县| 通州区| 永清县| 巫山县| 中宁县| 邵武市| 西乌珠穆沁旗| 荥经县|