簡體   English   中英

javascript 中一串一位數的總和?

[英]Sum of a string of one-digit numbers in javascript?

我正在嘗試編寫一個腳本來添加字符串的左側並根據右側對其進行驗證。

例如:

var left = "12345"
var right = "34567"

我需要做一些總和 function 加 1+2+3+4+5 並檢查它是否等於 3+4+5+6+7。

我只是不知道該怎么做。

我想我需要使用 for 循環來遍歷數字,例如 for (var i = 0, length = left.length; i < length; i++)

但我不確定如何從那里添加每個數字。

編輯var 實際上是從一個字段中拉入的。 所以 var left = document.blah.blah

演示

var left = "12345"
var right = "12345"

function add(string) {
    string = string.split('');                 //split into individual characters
    var sum = 0;                               //have a storage ready
    for (var i = 0; i < string.length; i++) {  //iterate through
        sum += parseInt(string[i],10);         //convert from string to int
    }
    return sum;                                //return when done
}

alert(add(left) === add(right));​
  1. 找出字符串的長度
  2. 然后在臨時變量中存儲值 pow(10,length-1)
  3. 如果你應用模塊 function (left%temp) 你會得到最后一個有效數字
  4. 你可以使用這個數字來添加
  5. 重復這個過程,直到左邊的字符串長度為0 6 對右邊的字符串也重復上述所有步驟,然后比較值

注意:使用 parseInt 將字符串轉換為 int function

var sum = function(a,b){return a+b}

function stringSum(s) {
    var int = function(x){return parseInt(x,10)}
    return s.split('').map(int).reduce(sum);
}

stringSum(a) == stringSum(b)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM