【发布时间】:2016-08-30 20:41:20
【问题描述】:
我使用正则表达式创建了一个函数,然后通过将前一个总数添加到数组中的下一个索引来迭代数组。
我的代码不起作用。我的逻辑有问题吗?忽略语法
function sumofArr(arr) { // here i create a function that has one argument called arr
var total = 0; // I initialize a variable and set it equal to 0
var str = "12sf0as9d" // this is the string where I want to add only integers
var patrn = \\D; // this is the regular expression that removes the letters
var tot = str.split(patrn) // here i add split the string and store it into an array with my pattern
arr.forEach(function(tot) { // I use a forEach loop to iterate over the array
total += tot; // add the previous total to the new total
}
return total; // return the total once finished
}
【问题讨论】:
-
\\D 不是有效的正则表达式。你添加的是字符串而不是数字
-
您是否尝试过单步执行以查看中断的位置?
-
你有没有checked your console for errors?你说忽略语法但是如果语法错误,程序根本不会运行。
-
缩进你的代码!
var patrn应该是:var patrn = "\\D" -
当你说“不工作”时,实际发生了什么?您是否收到错误或与预期不符的输出?
标签: javascript expression sum-of-digits