Насколько я понимаю, вы просто хотите получить массив массивов объектов, в котором все объекты в одном массиве сгруппированы по одному ключевому имени.
Итак, в качестве решения вашей проблемы я создал функцию который примет массив и имя ключа в качестве параметров и вернет группировки.
const givenArr = [{KeyOne: 1,KeyTwo:2},{KeyOne:2, KeyTwo:3}, {KeyOne:2,KeyTwo: 2, KeyThree:2}, {KeyOne: 4,KeyTwo: 3, KeyFour:32}]
const getGroupingsByKey = (arr,key) => {
let valueToArrayMap = {};
arr.forEach(obj => {
if(!valueToArrayMap[obj[key]]){
valueToArrayMap[obj[key]] = [];
}
valueToArrayMap[obj[key]].push(obj);
})
return Object.keys(valueToArrayMap).reduce((targetArr,currentKey) => {
targetArr.push(valueToArrayMap[currentKey]);
return targetArr;
},[]);
}
console.log("Group by KeyOne\n",getGroupingsByKey(givenArr,"KeyOne"));
console.log("Group by KeyTwo\n",getGroupingsByKey(givenArr,"KeyTwo"));
Пожалуйста, дайте мне знать, если это не решит вашу проблему, чтобы я мог ее исправить.