欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談JavaScript中的parseInt()的妙用

 更新時間:2021年07月09日 11:02:54   作者:小法丶  
本文主要介紹了JavaScript中的parseInt()的妙用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

起因

寫這篇博客的起因是今天在刷leetcode的每日一題,是一道字符串轉換整數 (atoi)的題,感興趣的話可以點擊題目名稱去看一下具體描述。在我多次debug終于成功提交之后,去評論區(qū)看了一下大佬們的解題思路,看完之后不禁感嘆javascript中原來parseInt( )已經這么優(yōu)秀了啊。這告訴我了一個道理,我們自認為再熟悉不過的api,可能我們并沒有真正意義上的掌握?!?/p>

我的解答

/**
 * @param {string} str
 * @return {number}
 */
var myAtoi = function(str) {
    str = str.trim();
    //截取字符串第一個字符
    var firstChar = str.charAt(),res = '',regSymbol = /^[\-\+]{1}/,regNumber = /^[0-9]{1}/;

    if(!regSymbol.test(firstChar) && !regNumber.test(firstChar)){
        return 0;
    }

    //第一個字符為+或者-
    if(regSymbol.test(firstChar)){
        var sliceStr = str.slice(1,str.length);
        for(var i=0;i<sliceStr.length;i++){
            if(regNumber.test(sliceStr.charAt(i))){
                res += sliceStr.charAt(i);
            }else{
                break;
            }
        }
        
        (res.length) ? res = parseInt(firstChar + res) : res = 0;

        if(firstChar == '-' && res < Math.pow(-2,31)){
            res = Math.pow(-2,31);
        }

        if(firstChar == '+' && res > Math.pow(2,31) - 1){
            res = Math.pow(2,31) - 1;
        }

        return res;
    }

    //第一個字符為數字
    if(regNumber.test(firstChar)){
        var sliceStr = str;
        for(var i=0;i<sliceStr.length;i++){
            if(regNumber.test(sliceStr.charAt(i))){
                res += sliceStr.charAt(i);
            }else{
                break;
            }
        }

        if(parseInt(res) > Math.pow(2,31) - 1){
            res = Math.pow(2,31) - 1;
        }

        return res;
    }
};

 大佬的解答

/**
 * @param {string} str
 * @return {number}
 */
var myAtoi = function(str) {
    const number = parseInt(str, 10);

    if(isNaN(number)) {
        return 0;
    } else if (number < Math.pow(-2, 31) || number > Math.pow(2, 31) - 1) {
        return number < Math.pow(-2, 31) ? Math.pow(-2, 31) : Math.pow(2, 31) - 1;
    } else {
        return number;
    }
};

通過對比,我們了解到javascript中的parseInt()已經做了截取空字符串、首字母判斷、number類型結果返回等一系列操作。剛好與今天的每日一題的需求完美契合,使用parseInt()來解決這個題目簡直不要太爽。

到此這篇關于淺談JavaScript中的parseInt()的妙用的文章就介紹到這了,更多相關JavaScript parseInt()內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • js調用本地exe程序的兩種方式小結

    js調用本地exe程序的兩種方式小結

    這篇文章主要介紹了js調用本地exe程序的兩種方式小結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • js獲取下拉列表框<option>中的value和text的值示例代碼

    js獲取下拉列表框<option>中的value和text的值示例代碼

    本篇文章主要是對js獲取下拉列表框<option>中的value和text的值示例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • javascript實現textarea中tab鍵的縮排處理方法

    javascript實現textarea中tab鍵的縮排處理方法

    這篇文章主要介紹了javascript實現textarea中tab鍵的縮排處理方法,涉及javascript處理鼠標事件及頁面元素的相關技巧,需要的朋友可以參考下
    2015-06-06
  • JavaScript獲得url所有參數鍵值表的方法

    JavaScript獲得url所有參數鍵值表的方法

    這篇文章主要介紹了JavaScript獲得url所有參數鍵值表的方法,實例分析了javascript操作URL的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • javascript實現隨機顯示星星特效

    javascript實現隨機顯示星星特效

    這篇文章主要介紹了javascript實現隨機顯示星星特效的相關資料,以一個完整實例形式較為詳細的分析了js實現隨機顯示星星特效的實現技巧,需要的朋友可以參考下
    2016-01-01
  • 微信小程序中的店鋪評分組件及vue中用svg實現的評分顯示組件

    微信小程序中的店鋪評分組件及vue中用svg實現的評分顯示組件

    這篇文章主要介紹了微信小程序之店鋪評分組件及vue中用svg實現的評分顯示組件,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • js+css實現打字效果

    js+css實現打字效果

    這篇文章主要為大家詳細介紹了js+css打字效果的實現方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • JS實現的一個簡單的Autocomplete自動完成例子

    JS實現的一個簡單的Autocomplete自動完成例子

    這篇文章主要介紹了JS實現的一個簡單的Autocomplete自動完成例子,需要的朋友可以參考下
    2014-04-04
  • JavaScript入門基礎

    JavaScript入門基礎

    在學習JavaScript之前,必須具備HTML和CSS知識,Javascript是一種解釋性的,基于對象的腳本語言(aninterpreted,object-basedscriptinglanguage)。這篇文章主要講解JavaScript入門基礎,需要的朋友可以參考下
    2015-08-08
  • JS使用正則表達式驗證身份證號碼

    JS使用正則表達式驗證身份證號碼

    這篇文章主要介紹了JS使用正則表達式驗證身份證號碼的相關資料,需要的朋友可以參考下
    2017-06-06

最新評論