色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 數(shù)組轉(zhuǎn)菜單

如果你正在開(kāi)發(fā)一個(gè)網(wǎng)站或者應(yīng)用,你可能需要將一個(gè)JavaScript數(shù)組轉(zhuǎn)換為一個(gè)菜單。這種需求往往涉及到將一個(gè)簡(jiǎn)單的列表轉(zhuǎn)換為一個(gè)更友好的導(dǎo)航菜單。在本文中,我將向你展示如何用JavaScript將一個(gè)數(shù)組轉(zhuǎn)換為一組嵌套的ul和li元素,方便創(chuàng)建導(dǎo)航頁(yè)。

首先,讓我們來(lái)看一個(gè)示例數(shù)組,準(zhǔn)備用于轉(zhuǎn)換為菜單。

const menuData = [
{
name: 'Home',
url: '/'
},
{
name: 'About Us',
url: '/about'
},
{
name: 'Products',
children: [
{
name: 'Product 1',
url: '/products/1'
},
{
name: 'Product 2',
url: '/products/2'
}
]
},
{
name: 'Contact Us',
url: '/contact'
}
];

    在上面的數(shù)組中,我們有四個(gè)主要的菜單項(xiàng):Home、About Us、Products和Contact Us。其中Products具有一個(gè)子菜單,其中包含兩個(gè)子菜單項(xiàng)目:Product 1和Product 2。現(xiàn)在我們將考慮如何將它們轉(zhuǎn)換為一個(gè)帶嵌套u(yù)l和li元素的菜單。

首先,我們使用操作數(shù)組的特定方法來(lái)處理數(shù)據(jù)。在本示例中,我們使用Array.map()方法來(lái)遍歷數(shù)組中的每個(gè)項(xiàng)目,并將它們轉(zhuǎn)換為ul和li元素。如果需要添加子菜單,則遞歸調(diào)用相同的函數(shù)。

function buildMenu(menuData) {
let menu = document.createElement('ul');
menuData.map((item) =>{
let li = document.createElement('li');
let a = document.createElement('a');
a.href = item.url;
a.textContent = item.name;
li.appendChild(a);
if (item.children && item.children.length >0) {
li.appendChild(buildMenu(item.children));
}
menu.appendChild(li);
});
return menu;
}
let output = buildMenu(menuData);
document.getElementById('menu').appendChild(output);

在上面的代碼中,我們首先創(chuàng)建了一個(gè)