我如何编写一个循环,使每个数组的每个部分都可以长到任意数量的变量?

时间:2016-09-25 16:12:28

标签: javascript arrays loops for-loop while-loop

目前我有这个

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 cardOne = arr[1], var cardTwo = arr[2]等因为我不知道他们将拥有多少张卡。

所以我让这个工作

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 sum = 0;
var i;
arr[1] = arr[1].replace(/-/g, "");
for (i = 0; i < arr[1].length; i++) {
sum += parseInt(arr[1].substr(i, 1)); }
console.log(arr[1], "=", sum);

现在我只需要一种方法来获得以(var sum = 0)开头的最后一部分来获取数组的每一部分,这样我就可以运行一个if / else来查看哪一个具有最高的总和

1 个答案:

答案 0 :(得分:0)

所以看起来你对数组而不是变量很好。 ^^ 但我不确定我是否真的理解你的问题...你得到的是卡号,而你想要将每张卡的所有数字相加,看看哪一张最大?

如果我理解正确(我认为我没有这样做),那么这就是你想要的代码:

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

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

for (i = 0; i < arr.length; i++) {
  card = arr[i].replace(/-/g,"");
  sum = 0;
  for (j = 0; j < card.length; j++) {
    sum += parseInt(card[j]);
  }
  console.log("Sum of card "+i+" = "+sum);
}