zoukankan      html  css  js  c++  java
  • 给出一个整数,将这个整数中每位上的数字进行反转(JavaScript编程)

    一、问题描述:
    给出一个整数,将这个整数中每位上的数字进行反转。
    示例:输入:123,输出321;输入-123,输出-321;输入120,输出-21

    二、问题分析与解决:

    需要将给出的整数反转,注意示例中给出的负数和末尾是0的情况。问题比较简单直接上JS代码如下:

    JS代码:

    //以下代码采用ES6的箭头函数写法
    const reverseNum = (num) => {
      if (num >= 0) {
        const numStr = String(num);//将数字转成字符串,方便转成数组
        return Number(numStr.split('').reverse().join(''));//详见注释1
      } else {
        const numStr = String(num);//将数字转成字符串,方便转成数组
        return -numStr.slice(1).split('').reverse().join('');//详见注释2
      }
    };
    
    //运行以上代码:
    reverseNum(1230);//321
    reverseNum(-123);//-321
    reverseNum(-1230);//-321
    
    /*
      注释1(以输入数字1230为例):
    numStr.split('')//将字符‘123’转成数组['1','2','3','0']
    .reverse()//反转数组,得到['0','3','2','1']
    .join('')//数组转成字符串'0321'
    Number()//最后加将反转后的字符串转为数字得到321
    */
    
    /*
    注释2:
    与注释1中不同的是先截取字符串numStr的第1位到最后一位,不截取负号,最后反转完后直接用-将反转后的字符串转为负数,得到-321
    +、-单独使用表示将其后面的元素转成数字类型,相当于Number()方法,只不过'-'会将后面的元素转化成负数。注意:-0得到-0,+0得到0,不是数字返回NaN如:+undefined //NaN
    */

    注意:Number('0123')会自动舍弃首位的0,Number方法和+、-操作默认将参数转为10进制的数字。

    如有疑问欢迎留言讨论,谢谢!

    (本文为原创博客,严禁非法抄袭或复制,转载请注明出处:https://www.cnblogs.com/xiao-pengyou/

    知识在于分享,如有问题欢迎评论! 原创博客禁止抄袭,原文地址:https://www.cnblogs.com/xiao-pengyou/
  • 相关阅读:
    客户端IP获取
    文件下载公共方法 以及调用
    文件压缩和解压缩工具类
    下载
    URLencoder类防止下载后的文件名乱码
    SQL行转列
    处理千万级以上的数据提高查询速度的方法
    获取本月的第一天和最后一天
    【机器学习理论】概率论与数理统计--假设检验,卡方检验,t检验,F检验,方差分析
    【机器学习实践】Jupyter Notebook安装 侧边导航栏功能 操作及其他常用扩展功能介绍
  • 原文地址:https://www.cnblogs.com/journey-blog/p/10632271.html
Copyright © 2011-2022 走看看