Split array of objects to multiple arrays

I have an array like this :

[ { id: '1', quantity: 5 }, { id: '1', quantity: 5 }, { id: '1', quantity: 5 }, { id: '1', quantity: 3 }, { id: '2', quantity: 5 }, { id: '2', quantity: 5 }, { id: '2', quantity: 2 }, { id: '3', quantity: 5 }, { id: '3', quantity: 4 } ]

I want the result to be like this:
[ {products: [{id: 1, quantity: 5}, {id: 2, quantity: 5}, {id: 3, quantity: 5}]}, {products: [{id: 1, quantity: 5}, {id: 2, quantity: 5}, {id: 3, quantity: 4}]}, {products: [{id: 1, quantity: 5}, {id: 2, quantity: 2}]}, {products: [{id: 1, quantity: 3}]} ]

There should not be any duplicate IDs inside each products.

Thank you in advance.