gpt4 book ai didi

Javascript - 返回对象对象的reduce方法

转载 作者:行者123 更新时间:2023-12-02 02:50:31 25 4
gpt4 key购买 nike

我有一个数组topArr,我试图获取结果对象的总和。我使用 .reduce() 方法来完成此任务。然后我声明另一个变量以等于逗号位置的总和。

下面我有两个尝试代码片段示例。

首先,我得到的返回值为[object Object]48,883

第二个例子,我得到数组中第一个数字的返回值,它没有组合另一个对象。

我期望两个结果相加后的金额等于543,810

这是我的代码片段。

let topArr = [
{ result: "494,927", risk: "HIGH", sector: "Online" },
{ result: "48,883", risk: "HIGH", sector: "Retail Stores" },
],

sum = topArr.reduce(function (a, e) {
return a + Number(e.result.replace(/(,\s*)+/g, '').trim());
})

let sumComma = sum.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");

console.log(sumComma)


let topArr = [
{ result: "494,927", risk: "HIGH", sector: "Online" },
{ result: "48,883", risk: "HIGH", sector: "Retail Stores" },
],

sum = topArr.reduce(function (e) {
return Number(e.result.replace(/(,\s*)+/g, '').trim());
})

let sumComma = sum.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");

console.log(sumComma)

最佳答案

您没有将初始值传递给 .reduce,因此初始值默认为数组中的第一项,它是一个对象 - 所以 a + Number(. ..) 导致将对象(强制为字符串)与 Number 调用连接起来。

传递初始值 0:

let topArr = [{
result: "494,927",
risk: "HIGH",
sector: "Online"
},
{
result: "48,883",
risk: "HIGH",
sector: "Retail Stores"
},
],

sum = topArr.reduce(function(a, e) {
return a + Number(e.result.replace(/(,\s*)+/g, '').trim());
}, 0)

let sumComma = sum.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");

console.log(sumComma)

关于Javascript - 返回对象对象的reduce方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62048682/

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