javascript - JS map 函数内部的计算
问题描述
在下面的代码中是否有更好/简单的方法来计算 servicecost 和 gatewayCost?我正在循环一个 json 数组以创建另一个 json 对象以更新数据库中的结果。代码工作正常,但我觉得使用的逻辑不是一个理想的逻辑。任何有助于简化以下代码的帮助将不胜感激。
var shippingCharge=20;
var serviceChargePercent =5;
var gstPercentOnServiceCharge=5;
var paymentGatewayPercent =2;
var cart=
[
{
"id": 9,
"title": "Unero Military Classical Backpack",
"is_featured": false,
quantity:2,
"is_hot": false,
"price": 42.2,
"sale_price": 35.89,
"vendor": "Young shop",
"review": 3,
"variants": [],
},
{
"id": 18,
"title": "Samsung UHD TV 24inch",
"is_featured": false,
quantity:2,
"is_hot": false,
"price": 599,
"sale_price": null,
"vendor": "Robert's Store",
"review": 4,
"variants": [],
}
]
tableData = cart.map((product, index) => ({
payment_mode: this.state.paymentMode,
invoiceID: parseInt(lastInvoiceId) + 1,
productTitle: product.title,
buyerEmailId: emailID, `enter code here`
servicecost: (
product.quantity *
product.price *
(serviceChargePercent / 100) +
product.quantity *
product.price *
(gstPercentOnServiceCharge / 100)
).toFixed(2),
gatewayCost: (
(parseFloat((product.quantity * product.price).toFixed(2)) +
parseFloat(shippingCharge.toFixed(2)) +
parseFloat(
(
product.quantity *
product.price *
(serviceChargePercent / 100) +
product.quantity *
product.price *
(gstPercentOnServiceCharge / 100)
).toFixed(2)
)) *
(paymentGatewayPercent / 100)
).toFixed(2),
}));
解决方案
推荐阅读
- java - 为什么我的模型类中的 int 返回 null
- firebase - Flutter Firestore 检索和设置嵌套对象
- python - 在无头 Chrome 中下载文件,(python)
- d3.js - 如何让热图中每个元素的文本与 y 轴标签相同?
- javascript - 在控制台中出现错误无法绑定到“ngif”,因为它不是角度应用程序中“div”的已知属性
- powershell - 难以将安全字符串传递给 system.data.odbc.odbcconnection 对象
- java - 使用电容器应用程序的 Angular8 无法从 android studio 登录
- swiftui - 无法使我的状态栏颜色与 SiwftUI 中的 UINavigationBar 颜色匹配
- php - 使用 Artisan::call() 的 Spatie 备份无法删除临时文件夹
- node.js - 尝试在 NodeJS 中使用 aws-sdk 在 S3 中创建文件夹时访问被拒绝