[Vuejs]-Find Efficient way of Filtering of two arrays (ArrayA & ArrayB) to make a third ArrayC

1๐Ÿ‘

โœ…

If I understand correct you would like to filter arrayB based on the userType and the values in arrayA. I suggest making an array of all the possible filter_{groepType}_{groepId} with array map:

const filterKeys = arrayA.map(group => `filter_${group.GroepType}_${group.GroepID}`);

Then you can check if one of those values is set as a key in the keys of arrayB, using an intersection of array with a couple of filters. You can do this in more ways:

arrayC = arrayB.filter(item => {
  const intersect = Object.keys(item.data).filter(key => filterKeys.includes(key));
  return intersect.length > 0; // you can additionally add the filter for target here
})

Leave a comment