过滤具有相同属性的产品

问题描述 投票:0回答:0

我在 VueJs 中有一系列产品,名为:top_produtos

每个产品都有另一个名为“属性”的数组,其中包含多个属性,例如:


top_produtos: [
  {
    "produto": {
      "ASIN": "B0CCJWFWWN",
    },
    "detalhes": {
      "results": [
        {
          "attributes": [
            {
              "id": "BRAND",
              "name": "Marca",
              "value_id": "3",
              "value_name": "Philips"
            },
            {
              "id": "MODEL",
              "name": "Modelo",
              "value_id": "28214759",
              "value_name": "43PFG6918"
            },

            ]
        }
      ],
    }
  },
{
    "produto": {
      "ASIN": "B0BW1X752N",
    },
    "detalhes": {
      "results": [
        {
          "attributes": [
            {
              "id": "BRAND",
              "name": "Marca",
              "value_id": "479",
              "value_name": "Philco"
            },
            {
              "id": "LINE",
              "name": "Linha",
              "value_id": "19745424",
              "value_name": "Smart Tv Series"
            },
            {
              "id": "MODEL",
              "name": "Modelo",
              "value_id": "19724299",
              "value_name": "PTV32G7PR2CSBLH"
            },
          ]
        }
      ],
    }
  }
]

我需要过滤并重新创建一个包含所有相同产品的新数组,但它们具有相同的属性。有些产品有 8 个相同属性,其他产品有 4 个,依此类推。我需要重新创建相同的数组并保留所有数组中存在的属性。

我对filter()、map()和reduce()进行了多次尝试。然而,我做得越多,我就越不明白发生了什么,一切都变得非常混乱。

javascript arrays vue.js vuejs3
© www.soinside.com 2019 - 2024. All rights reserved.