JS-数组的求和元素

JS - summing elements of arrays

本文关键字:元素 求和 数组 JS-      更新时间:2023-09-26

我试图用存储在数组中的数字进行运算,不幸的是,它们似乎被认为是"文本"而不是数字,所以当我喜欢array1[I]+array2[I]时,我会得到2+3=5,而不是2+3=23。。。

这些数组的值来自字段(html)

不知道该怎么处理;D感谢您的帮助

如果你想看看我的代码,下面是它的样子:

        var polynome = [];
        for (var i=0; i<=degree; ++i) {
            polynome[i] = document.getElementById(i).value;
        }
        var a = document.getElementById("a").value;
        var tempArray = [];
        var quotient = [];
        quotient[degree+1] = 0;
        for (var i=degree; i>=0; --i) {
            tempArray[i] = a * quotient[i+1];
            quotient[i] = polynome[i] + tempArray[i];
        }
        document.getElementById("result").innerHTML = polynome + "<br>" + tempArray + "<br>" + quotient;

array1[i]包含字符串而非int,因此当您使用+运算符尝试这两个元素时,它将连接这两个值,而不是将它们相加

您需要将数组中的两个元素强制转换为整数

试试这个

parseInt( array1[i] ) + parseInt( array2[i] )

+标点符号重载,这可能意味着加法、串联和转换为数字。为了确保它被解释为加法,操作数必须是数字。有很多方法可以将字符串转换为数字,如下所示:

var a = '2';
var b = '3';

一元+运算符将转换整数和浮点,但它有点模糊:

+a + +b 

parseInt将转换为整数:

parseInt(a, 10) + parseInt(b, 10);

parseFloat将转换整数和浮点值:

parseFloat(a) + parseFloat(b);

作为函数调用的Number构造函数将转换整数和浮点值,并且具有语义:

Number(a) + Number(b);

最后是一元-运算符,但它很少使用,因为减法(如乘法和除法)无论如何都会将操作数转换为数字,并且它会反转符号,所以要加do:

a - -b