【发布时间】:2020-07-17 22:58:41
【问题描述】:
下面是一个函数,它需要在 options 数组中设置一个选定元素的 option.value。如果选择了 3 个或更多选项,则需要将其设置为每个 1.50 美元,如果选择了 6 个或更多选项,则需要将其设置为每个 1.00。现在它就像一个魅力,因为它只是从数组中获取 options.value 并将其设置为当前价格,但是我需要将此折扣功能添加到我的函数中。我怎样才能做到这一点?
我目前的工作功能没有折扣条件。
private getSelectedOptions(options) {
return (options || []).filter(x => x.selected).map
(option => ({ name: option.name, value: option.value || 0 }));
}
选项数组
"options": [
{
"name": "Red Pepper",
"selected": false,
"value": 2.00
},
{
"name": "Garlic",
"selected": false,
"value": 2.00
},
{
"name": "Cheese blend",
"selected": false,
"value": 2.00
},
{
"name": "pineapple",
"selected": false,
"value": 2.00
},
{
"name": "bacon",
"selected": false,
"value": 2.00
},
{
"name": "green pepper",
"selected": false,
}
【问题讨论】:
标签: javascript arrays if-statement arrow-functions array.prototype.map