Как добавить уникальные свойства в название выпадающего списка?
https://www.youtube.com/watch?v=wsJbCvHkaKU
В этом видео ты сможешь понять принцип перебора массива объектов.
Я сделал решение  только конечного числа заранее известных массивов из твоего примера. Можно улучшить, чтобы больше автоматизировать, но работает на твоих данных из вопроса:const A = [{category: "Walls", id: "1"}, {category: "Walls", id: "2"}];
const B = [{category: "Window", id: "3"}, {category: "Walls", id: "4"}];
const C = [{category: "Walls", id: "5"}, {category: "Floor", id: "6"}];
const D = [{category: "Walls", id: "5"}, {category: "Walls", id: "6"}];

let newArr = [];
newArr['Walls'] = [];
newArr['Window'] = [];
newArr['Floor'] = [];

const allArr = {'A':A,'B':B,'C':C,'D':D};

for (let key in allArr) {
	allArr[key].forEach(function (item) {
		let tempItem = {'id': item.id, 'class': key};
		newArr[item.category].push(tempItem);
	});
}

for (let key in newArr) {
	let section = $('<details></details>');
	let summary = $('<summary>'+key+'</summary>');

	section.appendTo('body');
	section.append(summary);

	newArr[key].forEach(function (item) {
		console.log(item);
		let newElement = $('<button class="'+item.class+'">'+item.id+'</button>');
		section.append(newElement);
	})
}