JavaScript - Как создать список чисел от 1 до того, что пользователь вводит (Num), а затем умножать эти числа вместе? - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь решить эту проблему:

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

Моя идея состоит в том, чтобы создать переменную list, которая будет генерировать все цифры от 1 до того, что пользователь вводит как num.

Как бы я сказал let list = //integers between 1 and (num)

А затем умножить все числа в списке вместе?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Это то, что я закончил:

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(), где я определил две переменные: num и sum.

num получает значение того, что пользователь вводит в поле <input> с идентификатором "inputnum", а sum начинается с 1.

Затем мы создаем for-loop где мы получаем все целые числа от 1 до (num) и затем умножаем их на sum = sum * i;

0 голосов
/ 19 февраля 2019

Вы можете использовать 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 */
...