javascript - 如何拆分和添加字符串中的各个值?

标签 javascript jquery arrays string for-loop

在我的 JavaScript 中,我有一个名为 my_array 的数组,其中包含 012112010012 等值、0202

字符串中的每个数字都很重要。因此,在上面的示例中,一个字符串中有 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?
}

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

最佳答案

类似这样的事情

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];

fiddle here

关于javascript - 如何拆分和添加字符串中的各个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22635808/

相关文章:

javascript - 水平排列图像 - React Native - Flex 不工作

c++ - 如何通过对 2 位或更多位数字使用 XOR 运算符来解决此 C++ 问题

JavaScript 数组重构

javascript - 如何将不同的元素 ID 传递给同一个函数?

javascript - 如何从 AJAX 调用 json 对象?

javascript - Angular4 - 在 JavaScript 文件中使用函数

javascript - Jquery Replace Remove Delete 用括号在两个单词之间

javascript - 使用 JavaScript 将 XML 导出到本地文件

javascript - 从 div 类返回表行 td 元素而不使用 onClick

php - 比较数组值并根据自定义值查找数组中的下一个值 (PHP)