簡體   English   中英

逗號分隔字符串的總和

[英]Sum of comma separated string

我有一個字符串:string =“Green 3,Red 5,Blue 6”;

我想將數值加在一起,即這個字符串的答案應該是:3 + 5 + 6 = 14

我已從字符串中刪除了無數值但無法找到添加數字的方法!

var string = string.replace(/ \\ D / g,“”); 到目前為止,我得到356而不是14!

使用string.prototype.matcharray.prototype.reduce

var string = "Green 3, Red 5, Blue 6, "
var result = string.match(/\d+/g).reduce(function(a,b) {return +a + +b;});

等於

var string = "Green 3, Red 5, Blue 6, "
var array = string.match(/\d+/g);
var result = array.reduce(function(a,b) {
    return +a + +b;
});

這是一種方法:

string.split(',').reduce(function(sum, cur) {
  var n = cur.match(/(\d+)/);
  return sum + (n && parseInt(n[1],10) || 0);
}, 0);
//=> 14
<html>
<head>
    <title>Please Rate Me If this helps you...</title>
    <script>
    window.onload = function () {
        var string = "Green 3, Red 5, Blue 6";
        var separeted = string.split(",");
        var sum = 0;
        for (var i = 0; i < separeted.length; i++) {
            sum += parseInt(separeted[i].toString().match(/(\d+)/));
        }
        alert(sum);
    }
    </script>
</head>
<body>
</body>
</html>

試試這個...希望這會對你有所幫助

<span id="foo">280ms</span>
<span>sum:</span><span id="spid"></span>

var text = $('#foo').text();
output = text.split(","),
var sum = 0;
    for (var i = 0; i < output.length; i++) {
        sum += parseInt(output[i].toString().match(/(\d+)/));
    }
$("#spid").text(sum)

更新小提琴

暫無
暫無

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

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