我有这个数组
array = [{
product:product1,
price: 2000
},
{
product:product2,
price: 3000
},
{
product:product1,
price: 450
},
{
product:product2,
price: 3400
}]
我想知道我如何浏览这个数组,询问是否有重复的属性, 我必须获得的第一件事是重复产品中的最低价格,例如产品1,它们之间的最低价格为450,产品2的最低价格为3000,与De 最高价格相同,然后我必须将这些最小值和最大值相加,并将它们放入一个名为最小总和总最大值的变量中。 这个想法是得到这样的东西:
array = [{
product:product1,
price: 2000
},
{
product:product2,
price: 3000
},
{
product:product1,
price: 450
},
{
product:product2,
price: 3400
},
minimumTotal:3450,
maximumTotal:5400
]
有人请帮我!!
解决问题的算法可能会有很大差异。
我想说的是,首先,你必须了解如何将问题分解为多个小问题。然后,您可以尽可能解决它们。
例如,您可以结合以下两个步骤来几乎完成工作:
- 转换以下数据结构中的初始数组
const reducedValues = [
{
"product": "product1",
"values": [450, 2000],
},
{
"product": "product2",
"values": [3000, 3400],
},
];
- 获取最小值和最大值:
const minValues = [450, 3000];
const maxValues = [2000, 3400];
我没有向你展示如何完成你的工作,但这显然是一个很大的帮助。
>提示:您可以使用.reduce()
功能。
有关更多信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce。