Skip to content
Advertisement

How to filter unique values of array object when in comma separated string

I have this array, where ‘data_type’ holds values in a comma separated string:

Original array:

var getGroups = [
{ id: 52, data_type: "Prices & Volumes,Holdings,Reference Data" },
{ id: 51, data_type: "Prices & Volumes,Holdings,Reference Data" },
{ id: 49, data_type: "Fundamentals,Holdings,Corporate Actions,Reference Data" },
{ id: 25, data_type: "Holdings,Corporate Actions,Reference Data" }
]

How to catch, filter and build new array with all unique values?

Target array:

var targetArray = [
"Prices & Volumes",
"Holdings",
"Reference Data",
"Fundamentals",
"Corporate Actions"
]

console.log('targetArray:');
console.log(targetArray);

["Prices & Volumes", "Holdings", "Reference Data", "Fundamentals", "Corporate Actions"]

Here is a Fiddle: https://jsfiddle.net/grnewkzs/1/

Advertisement

Answer

const getGroups = [
  { id: 52, data_type: "Prices & Volumes,Holdings,Reference Data" },
  { id: 51, data_type: "Prices & Volumes,Holdings,Reference Data" },
  { id: 49, data_type: "Fundamentals,Holdings,Corporate Actions,Reference Data" },
  { id: 25, data_type: "Holdings,Corporate Actions,Reference Data" }
];

const values = getGroups.map(item => item.data_type.split(','))
const sets = new Set([].concat(...values))
const array = Array.from(sets)

you need to know why and how, or your lean nothing…that’s bad.

User contributions licensed under: CC BY-SA
6 People found this is helpful
Advertisement