1 回答
TA贡献1963条经验 获得超6个赞
这里的第一步是通过group属性键控数组。我会做这样的事情:
let keyedMenu = {};
myArray.forEach((item) => {
if (!keyedMenu[item.group]) {
keyedMenu[item.group] = [];
}
keyedMenu[item.group].push(item);
});
现在您的数据结构如下所示:
{
one: [
{ group: 'one', color: 'red' },
{ group: 'one', color: 'green' },
{ group: 'one', color: 'black' }
],
two: [
{ group: 'two', color: 'blue' }
]
}
下一步是从这个数据结构创建标记:
let markup = ``;
Object.keys(keyedMenu).forEach((key) => {
markup += `<ul class="nested">${ key }`;
keyedMenu[key].forEach((item) => {
markup += `<li><a href="${ item.color }">${ item.color }</a></li>`;
});
markup += `</ul>`;
});
最后,您需要将此标记注入 DOM:
$('target-element-selector').html(markup);
添加回答
举报