广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >浅谈JavaScript中的parseInt()的妙用
  • 380
分享到

浅谈JavaScript中的parseInt()的妙用

2024-04-02 19:04:59 380人浏览 泡泡鱼
摘要

起因 写这篇博客的起因是今天在刷LeetCode的每日一题,是一道字符串转换整数 (atoi)的题,感兴趣的话可以点击题目名称去看一下具体描述。在我多次debug终于成功提交之后,去

起因

写这篇博客的起因是今天在刷LeetCode的每日一题,是一道字符串转换整数 (atoi)的题,感兴趣的话可以点击题目名称去看一下具体描述。在我多次debug终于成功提交之后,去评论区看了一下大佬们的解题思路,看完之后不禁感叹javascript中原来parseInt( )已经这么优秀了啊。这告诉我了一个道理,我们自认为再熟悉不过的api,可能我们并没有真正意义上的掌握。”

我的解答



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;
    }
};

 大佬的解答



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()内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 浅谈JavaScript中的parseInt()的妙用

本文链接: https://www.lsjlt.com/news/130152.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 浅谈JavaScript中的parseInt()的妙用
    起因 写这篇博客的起因是今天在刷leetcode的每日一题,是一道字符串转换整数 (atoi)的题,感兴趣的话可以点击题目名称去看一下具体描述。在我多次debug终于成功提交之后,去...
    99+
    2022-11-12
  • 浅谈MyBatis中@MapKey的妙用
    目录MyBatis @MapKey的妙用背景实现源码分析思考Mybatis @MapKey分析1. MapKey注解有啥功能2. MapKey的源码分析1. MapperMethod...
    99+
    2022-11-13
  • 浅谈C++11中=delete的巧妙用法
    目录巧妙用法总结C++11中,当我们定义一个类的成员函数时,如果后面使用"=delete"去修饰,那么就表示这个函数被定义为deleted,也就意味着这个成员函数...
    99+
    2022-11-13
  • JavaScript中的parseInt()的用法
    本篇内容介绍了“JavaScript中的parseInt()的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!起因写这篇博客的起因是今天在...
    99+
    2023-06-20
  • 浅谈Java多线程处理中Future的妙用(附源码)
    java 中Future是一个未来对象,里面保存这线程处理结果,它像一个提货凭证,拿着它你可以随时去提取结果。在两种情况下,离开Future几乎很难办。一种情况是拆分订单,比如你的应用收到一个批量订单,此时如果要求最快的处理订单,那么需要并...
    99+
    2023-05-31
    java 多线程 ava
  • JavaScript 中的 parseInt() 函数详解
    目录参数描述总结parseInt() 函数可解析一个字符串,并返回一个整数。 parseInt 可以接受 2 个函数。 parseInt(string, radix)&nb...
    99+
    2023-05-19
    js parseInt() 函数 js parseInt()
  • JavaScript中parseInt()的示例分析
    这篇文章将为大家详细讲解有关JavaScript中parseInt()的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。parseInt()是内置的 JS 函数,用于解析数字字符串中的整数。 例如,...
    99+
    2023-06-15
  • 浅谈JVM中的JOL
    目录JOL简介使用JOL分析VM信息使用JOL分析String使用JOL分析数组使用JOL分析自动装箱使用JOL分析引用关系总结JOL简介 JOL的全称是Java Object La...
    99+
    2022-11-12
  • 浅谈Unity中的Shader
    目录一、Shader基础知识1.1、什么是Shader1.2、OpenGL的渲染流程1.3、shader的种类1.4、shader的开发语言二、Unity中Shader知识介绍2.1...
    99+
    2022-11-12
  • 浅谈Java中FastJson的使用
    FastJson的使用 使用maven导入依赖包 <!--下边依赖跟aop没关系,只是项目中用到了 JSONObject,所以引入fastjson--> <de...
    99+
    2022-11-12
  • 浅谈一下JavaScript与C++的差异
    目录运行环境的差异执行效率的差异编程风格的差异程序能力的差异总结在正式开始向各位前端开发者介绍 C++ 语言之前,我们先讨论一下 C++ 语言与 JavaScript 语言的差异(为...
    99+
    2023-05-14
    JavaScript C++ JavaScript C++的差异
  • 浅谈replaceAll的用法
    replaceAll是一个字符串的方法,用于替换字符串中的指定字符或字符序列。它的用法如下:1. replaceAll(String...
    99+
    2023-09-09
    replaceAll
  • 浅谈JavaScript 中的延迟加载属性模式
    目录一、前言二、按需属性模式三、凌乱的延迟加载属性模式四、类的唯一自己的延迟加载属性模式五、对象字面量的延迟加载属性模式六、结论一、前言 传统上,开发人员在 JavaScript 类...
    99+
    2022-11-12
  • 浅谈JavaScript中内存泄漏的几种情况
    目录一、内存泄漏是什么?二、垃圾回收机制1、标记清除2、引用计数三、常见的内存泄漏的情况1、意外的全局变量2、定时器造成的内存泄露3、闭包4、没有清理对DOM元素的引用5、事件监听(...
    99+
    2023-05-18
    JavaScript 内存泄漏
  • 浅谈C#中[]的几种用法
    目录一、导入外部DLL函数二、结构体时表明属性一、导入外部DLL函数 如[DllImport(“kernel32.dll”)]这叫引入kernel32.dll...
    99+
    2023-01-28
    C# []用法 C# []
  • 浅谈 Java 中 this 的使用(转)
    浅谈 Java 中 this 的使用(转)[@more@]  1. this是指当前对象自己。  当在一个类中要明确指出使用对象自己的的变量或函数时就应该加上this引用。如下面这个例子中:CODE:...
    99+
    2023-06-03
  • 浅谈python中的多态
    目录一、多态二、多态性三、鸭子类型一、多态 多态是指一类事物有多种形态,比如动物类,可以有猫,狗,猪等等。(一个抽象类有多个子类,因而多态的概念依赖于继承) import abc class Animal(met...
    99+
    2022-06-02
    python 多态
  • 浅谈Shell中的函数
    函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell也支持函数。Shell函数必须先定义后使用。 1.Shell函数的定义格式 可以带function关键字...
    99+
    2022-06-04
    shell 函数
  • 浅谈Vue中的this.$store.state.xx.xx
    目录Vue this.$store.state.xx.xx获取store中的数据我的项目文件结构vue项目都在什么时候用store.state、$store.state和this.$...
    99+
    2022-11-12
  • 浅谈MySQL中的group by
    目录1、前言 2、准备user表2.1 group by规则2.2 group by使用2.3 having使用2.4 order by与limit2.5 with rol...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作