如何遍历数组并知道重复哪些值

时间:2020-07-03 15:24:54

标签: javascript arrays dictionary filter

我有这个数组

array = [{
product:product1,
price: 2000
},
{
product:product2,
price: 3000
},
{
product:product1,
price: 450
},
{
product:product2,
price: 3400
}]

我想知道如何遍历此数组,请问是否存在重复的属性, 我要获得的第一件事是重复的产品中的最低价格,例如,产品1之间的最低价格为450,产品2的最低价格为3000,与最高价格相同,然后我必须将这些最小值和最大值相加,并将它们放入一个名为minimumTotal和total maximum的变量中。 想法是得到这样的东西:

array = [{
product:product1,
price: 2000
},
{
product:product2,
price: 3000
},
{
product:product1,
price: 450
},
{
product:product2,
price: 3400
},
minimumTotal:3450,
maximumTotal:5400
] 

请有人帮我!!

1 个答案:

答案 0 :(得分:0)

解决问题的算法可能会有很大差异。

我要说的是,您首先必须了解如何在多个小问题中解决问题。然后,您可以解决它们。

例如,您可以结合以下两个步骤来完成工作:

  • 将初始数组转换为以下数据结构
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