как я могу создать массив из двух массивов, один от 0 до 100 и один, который является текущей суммой первого массива?

#javascript #arrays

#javascript #массивы

Вопрос:

Это мой текущий javascript с массивом от 0 до 100, но мне нужно сделать текущую сумму прямо рядом с ним?

 function goNow()
{ var output = document.getElementById("output");
  var text = "";
 var faruk = new Array(100);
 for(var i=0;i<faruk.length;i=i   1)
 {
  text   = i   "</br>";

 }
 output.innerHTML = text;
}  
 }<html>
<head>
  <script type="text/javascript" src="ltp.js"></script>
</head>
<body>
<button onclick="goNow()">ClickMe</button>
<div id="output">Change Me</div>
</body>
</html>  

Комментарии:

1. Зачем вам для этого нужен массив? Планируете ли вы хранить значения в массивах вместо DOM? В настоящее faruk время практически бесполезен.

2. Вероятно, домашнее задание…

Ответ №1:

 function goNow()
{ var output = document.getElementById("output");
  var text = "";
  var sum=0;
 var faruk = new Array(100);
 for(var i=0;i<faruk.length;i=i   1)
 {
sum  = i;
  text   = i   "tttt"   sum "</br>";

 }
 output.innerHTML = text;
}  
 }<html>
<head>
  <script type="text/javascript" src="ltp.js"></script>
</head>
<body>
<button onclick="goNow()">ClickMe</button>
<div id="output">Change Me</div>
</body>
</html>  

Ответ №2:

Вы можете создать новый вызываемый sum параметр и добавить его в строку, где вам нужно его распечатать.

 function goNow()
{ var output = document.getElementById("output");
  var text = "";
 var faruk = new Array(100);
 var sum = 0;
 for(var i=0;i<faruk.length;i=i   1)
 {
   sum  = i;
  text   = i   " Total sum so far:"   sum   "</br>";

 }
 output.innerHTML = text;
}  
 }<html>
<head>
  <script type="text/javascript" src="ltp.js"></script>
</head>
<body>
<button onclick="goNow()">ClickMe</button>
<div id="output">Change Me</div>
</body>
</html>  

Ответ №3:

Для наличия двух массивов (как вы просили), обновите свою функцию, как показано ниже:

  var faruk = new Array(100);
 var rsum = new Array(100);
 for(var i=0;i<faruk.length;i=i   1)
 {

  text   = i   "</br>";
  if (i==0)
     rsum[i] = 0;
  else 
     rsum[i] = rsum[i-1]   i;

 }
  

Для того же вывода без массива ответы Андре Канильо и Криса Руфа достаточно хороши.

Спасибо

Ответ №4:

Вы могли бы сделать что-то вроде этого:

 function goNow() {
  var inputArray = new Array(100);
  var outputArray = new Array(100);
  var sum = 0;
  for (var idx = 1; idx <= 100; idx  ) {
    sum = sum   idx
    inputArray[idx] = idx   " - "   sum;
  }
  var outputString = "";
  inputArray.forEach(function(value) {
    outputString  = value   "<br />";
  });
  document.querySelector("#result").innerHTML = outputString;
}  
 <button onclick="goNow()">Print</button>
<div id="result"></div>  

Ответ №5:

Вы также можете сделать следующее;

 var goNow = _ => output.innerHTML = new Array(100).fill()
                                                  .reduce((p,_,i) => i ? [p[0]  = "<br>"   i   ":"   (p[1] i), p[1] i]
                                                                       : p, ["0:0",0])[0];  
 <html>
<head>
  <script type="text/javascript" src="ltp.js"></script>
</head>
<body>
<button onclick="goNow()">ClickMe</button>
<div id="output">Change Me</div>
</body>
</html>