摘要:主要思想逐位相加并進位下面這個字符串相加函數,接收兩個字符串參數,并返回它們相加之后的結果,也是字符串形式。
主要思想:逐位相加并進位
下面這個字符串相加函數,接收兩個字符串參數,并返回它們相加之后的結果,也是字符串形式。
代碼如下:
function sumStrings(a,b) { //通過補零讓a和b對齊 //若a比b短,則對a補零 while(a.length < b.length){ a = "0" + a; } //若b比a短,則對b補零 while(b.length < a.length){ b = "0" + b; } //是否有進位 var addOne = 0; //結果數組 var result = []; //從個位開始相加 for(var i=a.length-1;i>=0;i--){ var c1 = a.charAt(i) - 0; var c2 = b.charAt(i) - 0; var sum = c1 + c2 + addOne; //若數字相加大于9,則進位 if(sum > 9){ result.unshift(sum - 10); addOne = 1; } else{ result.unshift(sum); addOne = 0; } } //應付下面的情況: //"99" + "11" => "110" //它最后仍然要進位 if(addOne){ result.unshift(addOne); } //應付如下的情況 //"01" + "01" => "2" //而不是"02",所以移除第一位的"0" if(!result[0]){ result.splice(0,1); } return result.join(""); }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81036.html
摘要:問題實現字符串類型的數字相加的一個方法。總結好的,最開始提到的問題已經解決了,準確的說,文中的代碼只是實現了超出范圍的正整數相加,不支持負整數和小數,也許我們可以繼續去做點什么。 問題 實現 字符串類型的數字 相加的一個方法。比如:輸入 11111111111111111 ,22222222222222222,返回 33333333333333333 解決思路 JavaScript 能...
摘要:給定表,存在函數,對任意給定的關鍵字值,代入函數后若能得到包含該關鍵字的記錄在表中的地址,則稱表為哈希表,函數為哈希函數。而中的對象就是基于哈希表結構,所以我們構造一個對象即可,是當前遍歷到的值,是其與目標值的差。 大部分玩前端的小伙伴,在算法上都相對要薄弱些,畢竟調樣式、調兼容就夠掉頭發的了,哪還有多余的頭發再去折騰。 確實在前端中需要使用到算法的地方是比較少,但若要往高級方向發展,...
摘要:原碼補碼和反碼原碼一個數在計算機中是以二進制的形式存在的,其中第一位存放符號正數為負數為。中的位運算在中按位操作符會將其操作數轉成補碼形式的有符號位整數。原文鏈接由扯到中的位運算 這個話題的由來是2016年3月份的時候 NPM 社區發生了‘left-pad’事件,不久后社區就有人發布了用來補救的,也是現在大家能用到的 left-pad 庫。 最開始這個庫的代碼是這樣的。 module....
摘要:前綴規范每個局部變量都需要有一個類型前綴,按照類型可以分為表示字符串。例如,表示以上未涉及到的其他對象,例如,表示全局變量,例如,是一種區分大小寫的語言。布爾值與字符串相加將布爾值強制轉換為字符串。 基本概念 javascript是一門解釋型的語言,瀏覽器充當解釋器。js執行時,在同一個作用域內是先解釋再執行。解釋的時候會編譯function和var這兩個關鍵詞定義的變量,編譯完成后從...
摘要:摘要性能彪悍的引擎。深入淺出系列深入淺出第課箭頭函數中的究竟是什么鬼深入淺出第課函數是一等公民是什么意思呢深入淺出第課什么是垃圾回收算法深入淺出第課是如何工作的最近,生態系統又多了個非常硬核的項目。 摘要: 性能彪悍的V8引擎。 《JavaScript深入淺出》系列: JavaScript深入淺出第1課:箭頭函數中的this究竟是什么鬼? JavaScript深入淺出第2課:函數是一...
閱讀 2315·2021-11-24 10:33
閱讀 1385·2019-08-30 15:43
閱讀 3276·2019-08-29 17:24
閱讀 3481·2019-08-29 14:21
閱讀 2220·2019-08-29 13:59
閱讀 1735·2019-08-29 11:12
閱讀 2811·2019-08-28 18:00
閱讀 1849·2019-08-26 12:17