をしたいのソリューションですの一例である
{
"parent": "Vegetables",
"title": "Carrots"
},
{
"parent": "Fruit",
"title": "Apple"
},
{
"parent": "Vegetables",
"title": "Lettuce"
},
{
"parent": "Fruit",
"title": "Banana"
}
UL LIリストに両親に応じてグループに項目です
まず、アイテムリストをその親の名前でグループ化する必要があります。次に、グループ化された項目をループして、それらを印刷します。
p/s:予想される出力構造が正しくないようです。
<ul>Fruit</ul>
<li>Apple</li>
<li>Banana</li>
もしかして:
<ul>
<li>Fruit
<ul>
<li>Apple</li>
<li>Banana</li>
</ul>
</li>
</ul>
var items = [{
"parent": "Vegetables",
"title": "Carrots"
}, {
"parent": "Fruit",
"title": "Apple"
}, {
"parent": "Vegetables",
"title": "Lettuce"
}, {
"parent": "Fruit",
"title": "Banana"
}];
var groups = {};
items.forEach(item => {
if (!groups.hasOwnProperty(item.parent)) {
groups[item.parent] = [];
}
groups[item.parent].push(item.title);
});
var result = '';
for (var name in groups) {
result += '<ul>' + name + '</ul>';
groups[name].forEach(item => result += '<li>' + item + '</li>');
}
container.innerHTML = result;
<pre id="container"></pre>
ソリューションは、[jqueryの順序とグループ李要素]の角度 – Ram
可能な重複にすることができます(http:// stackoverflowの.com/questions/9417325/jquery-ordering-and-group-li-elements) –
私はjqueryソリューションまたはjavascriptを探しています。私が構築しているものは実際には小さいので、どのフレームワークも使用していません。 –