我有这样的数组。
const A = [{category: "Walls", id: "1"}, {category: "Walls", id: "2"}]; //first array
const B = [{category: "Window", id: "3"}, {category: "Walls", id: "4"}]; //second array
const C = [{category: "Walls", id: "5"}, {category: "Floor", id: "6"}]; //three array
const D = [{category: "Walls", id: "5"}, {category: "Walls", id: "6"}]; //four array
我需要创建一个这样的列表:
<details>
<summary>Walls</summary>
<button class="A">1</button>
<button class="A">2</button>
<button class="B">4</button>
<button class="B">5</button>
<button class="C">5</button>
<button class="D">6</button>
</details>
<details>
<summary>Window</summary>
<button class="B">3</button>
</details>
<details>
<summary>Floor</summary>
<button class="D">6</button>
</details>
问题是我不明白如何将必要的数据从 js 数组添加到 html 页面。我将非常感谢您的帮助。
我希望我能正确理解你的需要)
如果你稍微改变输入数据的格式,那么你可以这样做:
PS:我更改了答案以满足您的要求,但我想注意这仅适用于特殊情况,如您所见,代码的大小随着嵌套的每一级而增长。对于未来,我建议您使用平面对象作为输入。