Home > Software design >  How do I create an unique dataset of json object literal in Javascript?
How do I create an unique dataset of json object literal in Javascript?

Time:12-02

I want to get an output as an unique set of Categories array with the following output [Men,Woman]. Is there any way to do it in Javascript?

For example this my data

{
  "products:"[
    {
      "id": 1,
      "categories": {
        "1": "Men",
      },
    },
    {
      "id": 2,
      "categories": {
        "1": "Men",
      },
    }, {
      "id": 3,
      "categories": {
        "1": "Woman",
      },
    }
  ];
}

CodePudding user response:

A simple 1 line answer would be

new Set(input.products.map(p => p.categories["1"]))

This is if you're expecting only key "1" in the categories object.

If it can have multiple categories then you can always do

const uniqueCategories = new Set();

input.products.forEach(p => uniqueCategories.add(...Object.values(p.categories)))

Now you can convert a Set into an array

PS: This is not a ReactJs problem but a pure JS question. You might want to remove the ReactJs tag from this question altogether.

  • Related