#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>