5个小于10的随机数如何相加?

How to add 5 random numbers which are less than 10?

我创建了两个函数。一个创建 5 个随机数以将它们推入一个数组。另一个总结数字。随机数生成器正在运行并完美地制作了一个数组。但总和并不准确。我找不到问题所在。

//Generates 5 random numbers smaller than 10

function pushIntoArray() {
    let arr = [];
    let number;
    for(let i = 0; i < 5; i++) {
        number = Math.floor(Math.random() * 11);
        arr.push(number);
    }
    return arr;
}
console.log(pushIntoArray());

//Adds the numbers in arr
function sumNum(arr) {
    let total = 0;
    for(let i = 0; i < arr.length; i++) {
        total += arr[i];
    }
    return total;
}
let arr = pushIntoArray();
console.log(sumNum(arr));

您没有对登录到控制台的数组执行求和。您正在记录的是

console.log(pushIntoArray()); // This is displayed in the console

但是你正在通过调用

生成一个 ney 数组
let arr = pushIntoArray(); 

但是您在 arr 数组而不是控制台中显示的数组上执行求和。

console.log(sumNum(arr)); // you did not console.log(arr) 

该函数运行正常,您只是在错误的对象上调用它。

因为您正在记录一组不同的数组值并检查不同组数组值的总和。 我已经更改了您的 console.log 语句。

//Generates 5 random numbers smaller than 10

function pushIntoArray() {
    let arr = [];
    let number;
    for(let i = 0; i < 5; i++) {
        number = Math.floor(Math.random() * 11);
        arr.push(number);
    }
    return arr;
}

//Adds the numbers in arr
function sumNum(arr) {
    let total = 0;
    for(let i = 0; i < arr.length; i++) {
        total += arr[i];
    }
    return total;
}
let arr = pushIntoArray();
console.log(arr);
console.log(sumNum(arr));

该函数工作正常,但您正在记录不同的随机数数组并计算不同数组的总和。

//Generates 5 random numbers smaller than 10

function pushIntoArray() {
    let arr = [];
    let number;
    for(let i = 0; i < 5; i++) {
        number = Math.floor(Math.random() * 11);
        arr.push(number);
    }
    return arr;
}
// this array is different (this is not passed to the sumNum function)
console.log(pushIntoArray());

//Adds the numbers in arr
function sumNum(arr) {
    let total = 0;
    for(let i = 0; i < arr.length; i++) {
        total += arr[i];
    }
    return total;
}
// this array is different
let arr = pushIntoArray();
console.log("sum of array:", arr)
console.log(sumNum(arr));