【问题标题】:how to loop through an array and know what values ​are repeated如何遍历一个数组并知道哪些值是重复的
【发布时间】:2020-10-24 08:33:36
【问题描述】:

我有这个数组

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

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

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

请大家帮帮我!!

【问题讨论】:

    标签: javascript arrays dictionary filter


    【解决方案1】:

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

    我想说你首先必须了解如何将问题分解为多个小问题。然后,您可以尽可能地解决它们。

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

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

    【讨论】:

      猜你喜欢
      • 2021-09-05
      • 2022-01-15
      • 2013-11-03
      • 1970-01-01
      • 2011-04-14
      • 2021-07-19
      • 2015-11-08
      • 2016-02-09
      • 1970-01-01
      相关资源
      最近更新 更多