数组缩减器语法

Array reducer syntax

我的 array reducer 语法有问题。我正在尝试将 1 和 n 之间的所有奇数相加。我知道我需要额外的格式,但我可以处理。建议?

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Odd counter</title>
    <!-- This tool will add odd numbers between 1 and an input number.-->
</head>
<body>
    <!-- Input number N-->
    <input id="number" type="text"> <button onclick="oddAdder()">
        Add odds from 1
    </button>
    <p id="elements"></p>
    </br>
    <div id="demo"></div>
    <script>
        /* 
         * Check amount.
         */
        function oddAdder() {
            var sum = [];
            var reducer = function(accumulator, item); {
                return accumulator + item;
            }
            var total = sum.reduce(reducer)
            var target = document.getElementById("number").value;
            for (var i = 1; i <= target; i += 2) {
                sum.push(i)
                document.getElementById("demo").innerHTML = total;
            }
        }
        /* 
         * Display total
         */
    </script>
</body>
</html>

在调用 sum.reduce 之前填充 sum。此外,从 var reducer = function(accumulator, item); {.

中删除一个分号

修改后得到如下代码。我测试过它有效。

<html>
<head>
    <meta charset="utf-8">
    <title>Odd counter</title>
    <!-- This tool will add odd numbers between 1 and an input number.-->
</head>
<body>
    <!-- Input number N-->
    <input id="number" type="text"> <button onclick="oddAdder()">
        Add odds from 1
    </button>
    <p id="elements"></p>
    </br>
    <div id="demo"></div>
    <script>
        /* 
         * Check amount.
         */
        function oddAdder() {
            var sum = [];
            var reducer = function(accumulator, item) {
                return accumulator + item;
            }
            var target = document.getElementById("number").value;
            for (var i = 1; i <= target; i += 2) {
                sum.push(i)
            }
            var total = sum.reduce(reducer);
            document.getElementById("demo").innerHTML = total;
        }
        /* 
         * Display total
         */
    </script>
</body>
</html>