I am trying to categorise the objects by comparing two objects say data and categories
const data = {
  "1a": {
    "name": "1a",
    "count": 154
  },
  "1b": {
    "name": "1b",
    "count": 765
  },
  "1c": {
    "name": "1c",
    "count": 7877
  },
  "777": {
    "name": "777",
    "count": 456
  }
};
const categories = {
    "A_category":["A","1a", "2a"],
    "B_category":["1b", "2b"],
    "C_category":["1c", "2c"],
    "D_category":["1d", "2d"]
};
I want to group the data based on the category object, when there is no match the group should be others and the resultant data should be like
const resultData = [
  { group: 'Others', name: '777', count: 456 },
  { group: 'A_category', name: '1a', count: 154 },
  { group: 'B_category', name: '1b', count: 765 },
  { group: 'C_category', name: '1c', count: 7877 }
]
I used the function but not able to achieve the result
const resultData = [];
function restructure(data, categories) {
  Object.keys(data).map(
    dataKey => {
      for (let [key, value] of Object.entries(categories)) {
      value.includes(dataKey) ? resultData.push({"group": key,...data[dataKey]}) : resultData.push({"group": "Others",...data[dataKey]})  ;
      break;
}
    }
  )
}
restructure(data,categories);
 
     
     
    