【发布时间】:2021-10-14 17:29:49
【问题描述】:
我需要从 'accessories' 数组中的 'products.accessories' 数组中找到两个嵌套对象,并检查它们的货币以乘以奇偶校验,检查它们的单位以乘以 'products.properties.length',将每个对象乘以它们'qty' 并将它们的结果相加。
非常感谢任何建议。谢谢。
var accessories = [{
name: 'Accessory-1',
currency: 'eur',
price: 1,
unit: 'm'
},
{
name: 'Accessory-2',
currency: 'usd',
price: 2,
unit: 'pcs'
}];
var products = [{
name: 'Product',
properties: [{
no: 'Product-1',
length: '2000',
accessories: [{
name: 'Accessory-1',
qty: 1
},
{
name: 'Accessory-2',
qty: 1
}]
}]
}];
// currencies
let eurusd = 1.18
let gbpusd = 1.38
编辑:谢谢@AlexeyZelenin
function getPrice(accessory) {
accessory.unit === 'm' ? unitMultiplier = length / 1000 : unitMultiplier = 1
return (
accessory.currency === 'eur' ? (accessory.price * eurusd) :
(accessory.currency === 'gbp' ? (accessory.price * gbpusd) :
accessory.price)
).toFixed(2)
}
function getAcc(property) {
return property.accessories
.map(x => x.qty * getPrice(accessories.find(p => p.name === x.name)) * unitMultiplier)
.reduce((c, p) => c + p)
}
帕格:
each i in products
.....
each j in i.properties
.....
length = j.length
.....
【问题讨论】:
-
“product.currency”字段在哪里?
-
@AlexeyZelenin 产品没有货币,是美元,我只需要把配件价格换成和产品一样的美元。
-
你的函数
getPrice()声明,应该有price和currency字段。
标签: javascript pug