pleka7
pleka7

Reputation: 41

Javascript Append objects from this array and create new array with object key value pairs appended

I've got an array like

 [{"Color Family":"BEIGE","Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Color Family":"BLACK","Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Color Family":"BLUE","Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Color Family":"CAMEL","Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Color Family":"GREEN","Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Color Family":"GREY","Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Color Family":"IVORY","Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Color Family":"KHAKI","Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Color Family":"PINK","Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Color Family":"WHITE","Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Color Family":"YELLOW","Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Dark/Light Main Color":"DARK","Color Family":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Dark/Light Main Color":"LIGHT","Color Family":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Drop":"DEL 1","Color Family":null,"Dark/Light Main Color":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Drop":"DEL 2","Color Family":null,"Dark/Light Main Color":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Embroidery Family":"SATIN STITCH","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric Family":"COTTON","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric Family":"COTTON SILK","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric Family":"LEATHER","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric Family":"LEATHER/DENIM","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric Family":"LEATHER/TULLE","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric Family":"SILK","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric Family":"TECHNICAL","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric Family":"TULLE","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric Family":"VISCOSE","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric Family":"VISCOSE/TULLE","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric Family":"WOOL","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric Family":"WOOL/CASHMERE","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric Family":"WOOL/COTTON","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric Family":"WOOL SILK","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric weight":"LIGHT","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Fabric weight":"MEDIUM","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"All-In-One","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Coats","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Corset","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Cut & Sew","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Denim","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Dresses","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Evening Dresses","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Furs","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Jackets","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Jersey Dresses","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Knitwear","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Knitwear Dresses","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Leather","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Outerwear","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Pants","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Shirts","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Skirts","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Line":"Tops","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Logo":"NO","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Logo":"YES","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Print/Jacquard Family":null,"Sizing/Fitting":null,"Skull":null},{"Print/Jacquard Family":"ABSTRACT","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Sizing/Fitting":null,"Skull":null},{"Print/Jacquard Family":"FLORA","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Sizing/Fitting":null,"Skull":null},{"Print/Jacquard Family":"SEAL LOGO","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Sizing/Fitting":null,"Skull":null},{"Print/Jacquard Family":"SKULL","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Sizing/Fitting":null,"Skull":null},{"Sizing/Fitting":"3 BUTTONS","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"A-LINE","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"BERMUDA","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"BOYFRIEND","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"BRA","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"BUSTIER","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"CAMISOLE","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"COCOON","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"CROPPED","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"CULOTTE","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"DROP MENS SHOULDER","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"FITTED","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"HARNESS","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"HIGH WAISTED CIGARETTE","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"KNEE","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"LONG","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"LONG CIGARETTE","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"MENS","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"MENS SHOULDER","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"MIDI","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"MINI","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"OVER","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"PEAK SHOULDER","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"PEG","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"PENCIL","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"PEPLUM","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"REGULAR","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"SHORTS","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"SKINNY","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"SLASHED BACK","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"STRAIGHT SHOULDER","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"TRAPEZE","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"TURN UP CIGARETTE","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Sizing/Fitting":"TWO PLEATS","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Skull":null},{"Skull":"NO","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null},{"Skull":"YES","Color Family":null,"Dark/Light Main Color":null,"Drop":null,"Embroidery Family":null,"Fabric Family":null,"Fabric weight":null,"Line":null,"Logo":null,"Print/Jacquard Family":null,"Sizing/Fitting":null}]

I am trying to display this data in an excel sheet, but there the excel sheet comes like this. enter image description here

The problem with this array is that the properties that have non null values do not occur with same frequency. For example I have Color Family property appearing 11 times and then let's say Drop appearing 2 times. I've tried to get a solution for this which was to find the key that appears the most with non null value and then concatenate other properties from other objects to it, but no success.

My desired output

[
    {
        "ColorFamily": "BEIGE",
        "Dark/Light Main Color": "Dark",
        "Drop": "DEL1",
        "Embroidery Family": "SATIN STITCH",
        "FabricFamily": "COTTON"
    },
    {
        "ColorFamily": "BLACK",
        "Dark/Light Main Color": "LIGHT",
        "Drop": "DEL2",
        "Embroidery Family": "null",
        "FabricFamily": "COTTON SILK"
    },
    ...
]

Any help would be appreciated.

Upvotes: 1

Views: 63

Answers (1)

Raghav Garg
Raghav Garg

Reputation: 3707

You need to change the basic_format and input_data, and you will get the desired output using the below-given code.

Note: this is just a code I ran for small reproducible input and output. You can change the data and play around to get the desired final output

function fixMapping(basic_format = {}, input_data = []) {
    // in here we are just creating a map of all the value we have and we will be using index to match the value for different keys
    data_key_mapping = {}
    input_data.map(d => {
        Object.entries(d).map(([key, value]) => {
            if (!data_key_mapping[key]) data_key_mapping[key] = []
            if (value) data_key_mapping[key].push(value)
        })
    })
    
    // using the above mapping to finally outputting the desired output while using index to match the value in different keys and keeping other keys as null
    final_data = []
    Object.entries(data_key_mapping).map(([key, values]) => {
        values.map((value, index) => {
            if (!final_data[index]) final_data[index] = Object.assign({}, basic_format)
            final_data[index][key] = value || null
        })
    })

    return final_data;
}


basic_format = { "Color Family": null, "Drop": null }
input_data = [ { "Color Family": "BEIGE", "Drop": null }, { "Color Family": "BLACK", "Drop": null }, { "Drop": "DEL 1", "Color Family": null } ]

console.log(fixMapping(basic_format, input_data));

The above code will output

[
  {
    "Color Family": "BEIGE",
    "Drop": "DEL 1"
  },
  {
    "Color Family": "BLACK",
    "Drop": null
  }
]

Update 1: (the need for basic_format variable)

We don't have the same frequency for all the keys, which will lead to inconsistent count of keys in the final object, so we will initiate every object with all the keys we want and null data will be overwritten by the actual value if exist.

So basically, this variable is used to give consistent structure to our final object.

If we didn't use the basic_format, something like this

    if (!final_data[index]) final_data[index] = {}
    final_data[index][key] = value || null

it would yield the output as (notice the missing key Drop in second object)

[ { "Color Family": "BEIGE", "Drop": "DEL 1" }, { "Color Family": "BLACK" } ]

Upvotes: 1

Related Questions