如何在Javascript中的for循环中为每个数组运行一个函数?

时间:2016-10-31 21:21:05

标签: javascript arrays function for-loop

到目前为止我有这个,试图让它找到任意数量的输入数字中每一个的总和和" - " s。

当我运行时,

var howM = prompt("How many cards?")

var arr = [];
for (var i = 0; i < howM; i++)
    arr.push(prompt("Enter a card:"));

console.log(arr)

var sumpre = [];

for (var i = 0; i <= howM; i++) {
    var sum = 0;
    var eXt = arr[i];
    eXt = eXt.replace(/-/g, "");
    for (i = 0; i < eXt.length; i++) {
        sum += parseInt(eXt.substr(i, 1));
    }
    sumpre.push(sum);
}
console.log(sumpre)

我也试过

var howM = prompt("How many cards?")

var arr = [];
for (var i = 0; i < howM; i++)
    arr.push(prompt("Enter a card:"));

console.log(arr)

for (var i = 0; i < howM; i++) {
    var sum = 0;
    var eXt = arr[i]
    eXt = eXt.replace(/-/g, "");
    for (i = 0; i < eXt.length; i++) {
        sum += parseInt(eXt.substr(i, 1));
    }
}
console.log(sum);

在这两种情况下,我得到数组中第一个部分的总和然后未定义。如何为每件作品运行?我有点想知道它有什么问题我只是不知道如何解决它。

2 个答案:

答案 0 :(得分:0)

您需要为嵌套for循环使用第二个计数器,如下所示:

var howM = prompt("How many cards?")

var arr = [];
for(var i = 0; i < howM; i++)
  arr.push(prompt("Enter a card:"));

console.log(arr)

var sumpre = [];

for(var i = 0; i < howM; i++) {
  var sum = 0;
  var eXt = arr[i];
  eXt = eXt.replace (/-/g, "");
  for (var j = 0; j < eXt.length; j++) {
    sum += parseInt(eXt.substr(j, 1)); 
  }
  sumpre.push(sum);
}
console.log(sumpre)

答案 1 :(得分:-2)

您的for-loop意义var sum = 0;变量中的sum将无法在循环外访问