JavaScript - 如何在1和用户输入之间创建数字列表(Num),然后将这些数字相乘?

问题描述 投票:-1回答:2

我正试图解决这个问题:

https://www.coderbyte.com/editor/guest:First%20Factorial:JavaScript

我的想法是创建一个变量list,它生成1和用户输入的所有数字num

我怎么说let list = //integers between 1 and (num)

然后将列表中的所有数字相乘?

javascript arrays list iteration
2个回答
1
投票

你可以使用Array.from()Array.prototype.reduce()

const x = readline();

const array = Array.from({length: x}).map((_, i) => i + 1);
/* Now you have [1, 2, 3, ... , n] */

const result = array.reduce((previousItem, currentItem) => previousItem * currentItem);
/* Now you have 1 * 2 * 3 * ... * n */

1
投票

这就是我最终做的事情:

HTML:

<html>
<head>
<title>multiply</title>

</head>

<body>
    Enter number : <input id="inputnum" />
    <input type ="button" value="Submit" onclick="multiply();" />
    <div id="outputnew"></div>
</body>
</html>

(JavaScript进入<head></head>部分):

<script>
function multiply() {
    let num = document.getElementById("inputnum").value;
    let sum = 1;

    for (let i=1; i<= num; i++) {
        sum = sum * i;
    }

    document.getElementById("outputnew").innerHTML  = "All of the values between 
    1 and " +num+ " multiplied together equals:" + sum ;

}
</script>

这创建了一个函数multiply(),我定义了两个变量:numsum

num获取用户输入的<input>字段的值,其中id为"inputnum"sum的起始值为1。

然后我们创建一个for-loop,我们得到从1到(num)的所有整数,然后将它们与sum = sum * i;相乘

© www.soinside.com 2019 - 2024. All rights reserved.