Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在数组中添加数字_Javascript_Arrays - Fatal编程技术网

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!这不是一个有价值的问题,无论如何都不是问题