如何在字符串中拆分和添加单个值?

Posted

技术标签:

【中文标题】如何在字符串中拆分和添加单个值?【英文标题】:How to split and add individual values in a string? 【发布时间】:2014-05-03 08:50:29 【问题描述】:

在我的 javascript 中,我有一个名为 my_array 的数组,其中包含 0121120100120202 等值。

字符串中的每个数字都很重要。因此,在上面的示例中,一个字符串中有 4 个值。例如。 0121 持有 0,1,2,1。

这些值也可以更长。例如。 0122121021 等(这包含 5 个值)

我想知道执行以下操作的最简单和最有效的方法:

在数组my_array 中添加所有字符串的第一个数字。例如。上例中的0+1+0+0

添加第二个数字(例如1+2+0+2)等等。

我可以遍历数组并拆分值,然后

for(i=0; i<my_array.length; i++)
    var another_array = my_array[i].split();
    //Getting too complicated?

我怎样才能有效地做到这一点?有人请指导我。

【问题讨论】:

my_array 的类型是什么? 【参考方案1】:

类似的东西

var myArray = ["0121", "1201", "0012", "0202"];
var firstValSum = 0;

for(var i = 0; i < myArray.length; i++) 
    var firstVal = myArray[i].split("");
    firstValSum += parseInt(firstVal[0], 10);


console.log(firstValSum); //1

这可以被包装成一个函数,该函数接受参数以使其动态化。即传入数组以及要添加在一起的字符串的哪一部分。

编辑 - 这是实现您想要的更简洁的方法 - 此代码按照您的指定将计算值输出到数组中。

var myArray = ["0121", "1201", "0012", "0202"];
var newArr = [];    

for(var i = 0; i < myArray.length; i++) 
    var vals = myArray[i].split("");
    for(var x = 0; x < vals.length; x++) 
        var thisVal = parseInt(vals[x], 10);
        ( newArr[x] !== undefined ) ? newArr[x] = newArr[x] += thisVal : newArr.push(thisVal);
    


console.log(newArr); //[1, 5, 3, 6];

小提琴here

【讨论】:

看起来不错。我想添加所有部分。在这个例子中,我会说一个包含所有四个和的 4 个结果的数组。 @LittleLebowski - 查看我所做的编辑。第二个代码块正是这样做的:) 太棒了,看起来很棒。让我在我的代码上测试一下。万分感谢。 :) 别担心,我没有过多解释代码,所以如果您需要任何解释,请告诉我。 非常感谢,我自己明白了。 :D【参考方案2】:
var resultArray = new Array();    // This array will  contain the sum.
var lengthEachString = my_array[0].length;    

for(j=0; j<lengthEachString ; j++)     // if each element contains 4 elements then loop for 4 times.
    for(i=0; i<my_array.length; i++)    // loop through each element and add the respective position digit.
        var resultArray[j] = parseInt( my_array[i].charAt(j) );   // charAt function is used to get the nth position digit.
    

【讨论】:

int lengthEachStrng var lengthEachStrng = my_array[1].length;。

以上是关于如何在字符串中拆分和添加单个值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在dataTable的单个单元格中添加多个json值

拆分值并添加到微调器[重复]

如何基于单个值拆分大型数据帧,1130.07 [重复]

如何从我拆分的单个字符串创建一个对象?

如何在 Hive 中将一列拆分为两列

使用 WHERE IN SQL 子句将字符串值从单个值拆分为多个值以获取数据