JavaScript 面试题 - 大数相加


    function addFn(a, b) {
      var lenA = a.length
      var lenB = b.length
      var len = lenA > lenB ? lenA : lenB
      if (lenA > lenB) {
        for (var i = 0; i < lenA - lenB; i++) {
          b = '0' + b
        }
      } else {
        for (var i = 0; i < lenB - lenA; i++) {
          a = '0' + a
        }
      }
      var arrA = a.split('').reverse()
      var arrB = b.split('').reverse()
      var arr = []
      for (i = 0; i < len; i++) {
        arr.push(parseInt(arrA[i]) + parseInt(arrB[i]))
      }

      for (i = 0; i < arr.length; i++) {
        if (arr[i] >= 10) {
          arr[i] -= 10
          arr[i + 1] = parseInt(arr[i + 1]) + 1
        }
      }

      return arr.reverse().join('')
    }


    console.log(addFn('1234599999999999999999999999999999', '66666666'))


大概的思路, 传入的值是number类型有bug,会传入科学计数法字符串。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,270评论 0 4
  •   引用类型的值(对象)是引用类型的一个实例。   在 ECMAscript 中,引用类型是一种数据结构,用于将数...
    霜天晓阅读 1,098评论 0 1
  • (信不信,标题纯粹是为了唬人?) 因为身边有许多把旅行视作人生信条的朋友,有些甚至不惜辞职,于是让我对这件事抱有更...
    颜知微阅读 306评论 0 0
  • 今夜起风。阴冷沁凉的寒气提醒着冬季延伸的脚步。我在这一刻,终于静静的坐在电脑前,抖落一身的故事与时光,写给生命里无...
    陈七公阅读 401评论 0 0
  • 家有熊孩子,虽然有时候他大闹天宫捣蛋无所不用其极,但是熊孩子乖起来的时候,也是能如春天阳光般,秒杀三冬酷寒,给人回...
    简玦阅读 766评论 14 10