无法在javascript中获取两个数字的总和

Cant get sum of two number in javascrit

在我的代码中可以添加数字数组并在文本字段中显示结果,但是在我添加新数字并尝试获取数组中的数字总和后它会连接(例如 5+5=10,但它 returns 5+5=55)。 这是我第一次接触这个问题,我该如何处理? 请参阅代码:

<!DOCTYPE html>
<html>
<head>
  <title>Title of the document</title>
  <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
  <input type="text" id="n1"/><br/><br/>
  <input type="text" id="n2"/><br/><br/>
  <button id="buttoni">Get Aray Sum</button>
  <button id="buttona">Add Array</button>
  <p id="pText"></p>
</body>
 <script>
        let btnGet = document.getElementById("buttoni");
        let result = document.getElementById("n2");
        
        let numbers =  [];

        document.getElementById("buttona").onclick = function pushData()
            {
                // get value from the input text
                var inputText = document.getElementById('n1').value;
                
                // append data to the array
                numbers.push(inputText);
                
                var pval = "";
                
                for(i = 0; i < numbers.length; i++)
                {
                    pval = pval + numbers[i] + "<br/>";
                }
                // display array data
                document.getElementById('pText').innerHTML = pval;
            };
            let numo = numbers;
            btnGet.addEventListener('click', () => {
            result.value = numo.reduce((total, current) =>  total += current);
        });
  </script>
</html>

先将其转换为整数。 parseInt(value);

Javascript 认为它是一个字符串,所以它像任何其他字符串一样添加它(“5” + “5” 将是 55 而 5+5 或 parseInt(“5”) + parseInt(" 5") 将是 10)

将第 24 行替换为 var inputText = parseInt(document.getElementById('n1').value); 或将第 27 行替换为 numbers.push(parseInt(inputText));

更改下行

numbers.push(inputText);

numbers.push(parseInt(inputText));