我需要编写一个带有2个参数的函数,第一个参数是<li>元素列表,第二个参数是对象。对象是产品及其价格的清单。所有<li>元素都将包含包含产品名称的文本。该功能应检查提到的每种产品的价格,计算并返回总价。
例:
<ul>
<li>oreos<li/>
<li>milk<li/>
<ul/>
Run Code Online (Sandbox Code Playgroud)
let products = {
oreos: 20,
milk: 17,
bread: 12,
doritos: 10
}
Run Code Online (Sandbox Code Playgroud)
我尝试过使用for in / of循环来遍历product对象,并将其与<li>using 匹配,.innerText但是不确定如何去做。
请帮忙
您可以做的是,可以使用以下功能:
let totalPrice = (priceList, products) => {
return products.reduce((total, elem) => {
total += priceList[elem.innerText];
return total;
}, 0)
Run Code Online (Sandbox Code Playgroud)
}
此函数使用Array.reduce对产品列表进行迭代,并添加产品价格列表并返回总计。
您应该签出Array.reduce()以获得更多的清晰度。
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |