【发布时间】:2018-08-23 11:13:03
【问题描述】:
我有一个空白数组,我需要将 1 到 20 的数字添加到这个数组中。 之后,我需要将这些数字完全相加。我被困在这里:
for(i=1;i<=20;i++){
push()
}
你怎么看,请回答。 谢谢
【问题讨论】:
-
啊,做我的功课!
标签: javascript
我有一个空白数组,我需要将 1 到 20 的数字添加到这个数组中。 之后,我需要将这些数字完全相加。我被困在这里:
for(i=1;i<=20;i++){
push()
}
你怎么看,请回答。 谢谢
【问题讨论】:
标签: javascript
让我们看看...首先你需要像这样定义一个数组:
var array =[];
你还需要为总和做一个变量:
var sum = 0;
现在您使用该 for 循环将您的数字添加到数组中:
for(var i = 0; i <= 20; i++)
{
array[i] = i;
sum += i;
}
希望这就是您想要的。
【讨论】:
var i = 1而不是0。感谢您指出这一点!
这是一种替代方法,使用函数 Array.from 进行初始化,函数 reduce 对整个数字集求和。
var numbers = Array.from({length: 20 }, () => ( this.i = ((this.i || 0) + 1 )) ); //0,1,2,3.... and so on!
sum = numbers.reduce((a, n) => a + n, 0);
console.log(sum);
【讨论】:
如果我没有正确回答您的问题,这应该会有所帮助:
var i = 1,
sum = 0,
numbers = [];
// Filling the array :
for(i=1; i<=20; i++){
numbers.push(i);
}
// Calculating the sum :
numbers.forEach(function(number) {
sum += number;
});
然后看看结果:
alert(sum);
【讨论】:
另一种方法是使用reduce
var arr = [];
for(i=1;i<=20;i++){ //a for loop to create the array
arr.push(i)
}
console.log("the value of the array is " + arr)
var sum = arr.reduce(add, 0);
function add(a, b) { // a function the calculate the total
return a + b;
}
console.log("the total is " + sum)
【讨论】:
是的,您只需对数组变量执行 push() 函数即可实现,如下所示:
<script>
function helloWorld(){
var arr = Array();
var sum = 0;
for(var i=0;i<20;i++){
arr.push(i+1);
sum = sum+(i+1);
}
console.log(arr,sum);
}
</script>
在console.log中你会得到结果
【讨论】: