ES6接头和组阵列元素

我有一个像这样的数据结构(如下),并且想要保留其在类别之间的降序排列:

var arr = [
{'CAT_1': size: 200},
{'CAT_1': size: 150},
{'CAT_2': size: 300},
{'CAT_2': size: 20},
{'CAT_3': size: 50}
];

var newElement = {'CAT_1': size: 175};
function magicFunction(data){
//some magic here to splice into array above
}

我想看看哪种神奇的功能可以使类别保持当前顺序,并将此newElement附加/拼接到arr [1]中?