如何将单个字符串组成多个字符串?

时间:2016-06-21 20:54:33

标签: javascript html

我有一个名为e3的字符串,其中包含字符串1,2,4,5,3,6。我想将所有这些数字相加,以得到数字21我正在考虑为此做一个for循环但是我不知道如何将字符串的一部分转换为它自己的值。 我有任何人想知道该怎么做请评论或回答。

4 个答案:

答案 0 :(得分:8)

您可以使用String#split作为字符串,并使用Array#reduce进行求和。

var e3 = '1,2,4,5,3,6',
    sum = e3.split(',').reduce(function (a, b) { 
      return a + +b; // +b forces b to number
    }, 0);

console.log(sum);

答案 1 :(得分:1)

如果您确定它总是以逗号分隔的数字列表,您可以将它在逗号上拆分为数组,然后使用array.reduce()对它们求和

var asString = '1,2,4,5,3,6';
var asArray = asString.split(',');

var total = asArray.reduce(function(prev, current){
    return prev + parseInt(current, 10);
}, 0);

console.log(total) // outputs 21;

答案 2 :(得分:1)

你可以这样做:

var e3 = "1,2,4,5,3,6";
// Split by separator ','
var stringsArr = e3.split(',');

var sum = 0;
// Loop through array of string numbers
stringsArr.forEach(function(str) {
    // get Int from a string
    var strVal = parseInt(str, 10);
  sum += strVal;
});

这里是fiddle

答案 3 :(得分:0)

以下是执行所需操作的代码:https://plnkr.co/edit/8LSkZi0oC8msbHI0qOrz?p=preview

首先使用split方法 - 这会根据某个分隔符值将字符串分隔为字符串数组。在我们的示例中,分隔符是逗号,但它可以是空格或其他内容:

var testString = '1,2,4,5,3,6';
var separator = ',';

function splitStringOnCommasAndGetArray(string, separator){
  var arrayOfStrings = string.split(separator);
  return arrayOfStrings;
}

之后,我们遍历数组并将每个值转换为数字。我们添加数字,如下:

function addUpArray(arrayOfStrings){

  var totalNumber = 0; 

  for(var i = 0; i < arrayOfStrings.length; i++){
    var currentNum = parseInt(arrayOfStrings[i]);
    console.log(currentNum);
    totalNumber += currentNum;
  }

  return totalNumber; 
}