gpt4 book ai didi

javascript - 将数组中的数字相加

转载 作者:行者123 更新时间:2023-12-03 00:40:03 26 4
gpt4 key购买 nike

我一直在关注this发布,但我无法让我的数组将数组中的所有数字相加。

我用这个:

 var array_new = [$(".rightcell.emphasize").text().split('€')];

给我这个数组:

array_new: ,102.80,192.60,22.16

然后我这样做:

var sum = array_new.reduce((a, b) => a + b, 0);
console.log(sum); //gives me this 0,102.80,192.60,22.16

当我只想将数字相加时,我得到这个结果0,102.80,192.60,22.16。有人能给我建议吗?

最佳答案

由于您的数组由 undefined 和一堆字符串组成,因此您必须解析这些值才能获取数字。答案是:

var data = [,'102.80','192.60','22.16'];

console.log(data.reduce((r,c) => r + parseFloat(c), 0))

但是,如果您不想在该函数中处理解析,您可以确保您的数组以数字数组的形式出现,如下所示:

Array.from([$(".rightcell.emphasize").text().split('€')], (x) => parseFloat(x || 0))

这将使您的数组准备好进行求和,而无需在 Array.reduce 内部进行解析。所以它会是这样的:

var strings = [,'102.80','192.60','22.16'];
var numbers = Array.from(strings, (x) => parseFloat(x || 0))

console.log(numbers.reduce((r,c) => r + c, 0))

但在您的情况下,它会更短,因为您将按照第二个代码片段中所示的方式执行前两行。

关于javascript - 将数组中的数字相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53503167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com