Javascript 数组未获得总和.而不是检索数组本身

Javascript Array not Getting Sum. Instead of retrieving Array Itself

本文关键字:数组 检索 Javascript      更新时间:2023-09-26

>一个函数正在将值推送到"newdata"数组,如下所示 ["5.0", "68.0", "18.0", "5.0"] 如何添加此值?

var newdata = ["5.0", "68.0", "18.0", "5.0"]
var total = 0;
for (i=0;i<newdata.length;i++)
{
    total = (total + newdata[i]);
}
alert(total);

执行此函数时,结果显示数组本身!没有得到总和。

为了得到总和,你应该尝试如下操作:

total = total + parseFloat(newdata[i],10);

或更紧凑

total += parseFloat(newdata[i],10);

在您的代码中,您只需在名为 newdata 的数组中添加元素,这些元素是字符串而不是数字。

使用 parseFloat() 将字符串转换为数字:

var newdata = ["5.0", "68.0", "18.0", "5.0"]
var total = 0;
for (i=0;i < newdata.length;i++) {
    total = (total + parseFloat(newdata[i]));
}

控制台.log(总计);

数组由字符串组成,而不是数字。因此,循环中的+正在执行字符串连接而不是数字加法。

将数组声明为实际数字的列表:

var newdata = [5.0, 68.0, 18.0, 5.0];

或者,如果数组来自您无法控制的地方,请转换循环中的每个值:

for (i=0;i<newdata.length;i++)
    {
        total = (total + +newdata[i]);
    }

数组引用前的一元+运算符会将数字的字符串形式转换为数字。