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