Javascript 如何在数组中添加数字
我正在努力解决一个问题Javascript 如何在数组中添加数字,javascript,arrays,Javascript,Arrays,我正在努力解决一个问题 如果我们列出10以下的所有自然数,它们是3或5的倍数,我们得到3、5、6和9。这些倍数之和是23 求1000以下所有3或5的倍数之和。 我已经完成了大部分工作。但是,我无法在数组中求和这些数字。这是我到目前为止的代码 <script src="jquery-1.11.1.min.js"></script> <script> $(document).ready(function () { var counter;
如果我们列出10以下的所有自然数,它们是3或5的倍数,我们得到3、5、6和9。这些倍数之和是23 求1000以下所有3或5的倍数之和。 我已经完成了大部分工作。但是,我无法在数组中求和这些数字。这是我到目前为止的代码
<script src="jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function () {
var counter;
for (counter = 0; counter < 1001; counter++) {
if (counter % 3 == 0 || counter % 5 == 0) {
var arrayNumbers = [];
arrayNumbers.push(counter);
}
}
var total = 0;
$.each(arrayNumbers, function () {
total += this;
});
console.log(total);
});
</script>
$(文档).ready(函数(){
var计数器;
用于(计数器=0;计数器<1001;计数器++){
如果(计数器%3==0 | |计数器%5==0){
var arrayNumbers=[];
arrayNumbers.push(计数器);
}
}
var合计=0;
$.each(数组编号,函数(){
总数+=这个;
});
控制台日志(总计);
});
控制台将此记录为1000
我认为wrng是我变量的范围。如何解决此问题?您应该在
for循环
之外创建数组编号
,否则它将在每个循环中被处理和覆盖
<script src="jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function () {
var counter;
var arrayNumbers = [];
for (counter = 0; counter < 1001; counter++) {
if (counter % 3 == 0 || counter % 5 == 0) {
arrayNumbers.push(counter);
}
}
var total = 0;
$.each(arrayNumbers, function () {
total += this;
});
console.log(total);
});
</script>
$(文档).ready(函数(){
var计数器;
var arrayNumbers=[];
用于(计数器=0;计数器<1001;计数器++){
如果(计数器%3==0 | |计数器%5==0){
arrayNumbers.push(计数器);
}
}
var合计=0;
$.each(数组编号,函数(){
总数+=这个;
});
控制台日志(总计);
});
我不想弄乱您的算法,但我建议您在本练习中使用计数器变量 您应该按找到的每个倍数递增计数器,计数器的最终值将是所有倍数的总和
<script src="jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function () {
var counter = 0;
var number;
for (number = 0; number < 1001; number++) {
if (number % 3 == 0 || number % 5 == 0) {
counter += number;
}
}
console.log(counter);
});
</script>
$(文档).ready(函数(){
var计数器=0;
var数;
用于(数字=0;数字<1001;数字++){
如果(数字%3==0 | |数字%5==0){
计数器+=数字;
}
}
控制台日志(计数器);
});
这可以在不使用数组的情况下通过仅使用循环数组来实现
$(document).ready(function () {
var counter;
var result;
for (counter = 0; counter < 1001; counter++) {
if (counter % 3 == 0 || counter % 5 == 0) {
result+=counter;
}
console.log(result);
}
$(文档).ready(函数(){
var计数器;
var结果;
用于(计数器=0;计数器<1001;计数器++){
如果(计数器%3==0 | |计数器%5==0){
结果+=计数器;
}
控制台日志(结果);
}
您可以在不使用任何数组或jQuery的情况下执行此操作:
var counter, total=0;
for (counter = 0; counter <= 1000; counter++) {
if (counter % 3 == 0 || counter % 5 == 0) {
total += counter;
}
}
console.log(total);
var计数器,总计=0;
for(counter=0;counter为什么不在for循环中求和呢?有点像这样:
<script src="jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function () {
var counter;
var total= 0;
for (counter = 0; counter < 1001; counter++) {
if (counter % 3 == 0 || counter % 5 == 0) {
var arrayNumbers = [];
arrayNumbers.push(counter);
total += counter;
}
}
console.log(total);
});
$(文档).ready(函数(){
var计数器;
var合计=0;
用于(计数器=0;计数器<1001;计数器++){
如果(计数器%3==0 | |计数器%5==0){
var arrayNumbers=[];
arrayNumbers.push(计数器);
总数+=计数器;
}
}
控制台日志(总计);
});
在循环之外声明ArrayNumber数组为什么要费心处理数组?只需在进行过程中求和即可。感谢您解释我的评论!@Aravind,为什么您不发布答案而不是评论?;pLol!这不是一个有价值的问题,无论如何都不是问题