我的问题是:如何在开始时用alfabet作为类别打印javascript数组?这就是我想要的:
A
Aapje
Antje
Appeltje
B
Bepje
Bafke
Befke
C
Come
Cool
Crap
如何通过这样的方式完成数组的打印?我的数组只是各自字母下的字样。
我该如何处理?
这是我到目前为止的代码:
<script>var clientSideViewModel = [{"categorie":"Aapje"},{"categorie":"Bapje"},{"categorie":"Capje"},{"categorie":"Dapje"},{"categorie":"Eapje"},
{"categorie":"Fapje"},{"categorie":"Gapje"},{"categorie":"Hapje"},{"categorie":"Iapje"},
{"categorie":"Japje"},{"categorie":"Kapje"},{"categorie":"Lapje"},
{"categorie":"Mapje"},{"categorie":"Napje"},{"categorie":"Oapje"},{"categorie":"Papje"},
{"categorie":"Qapje"},{"categorie":"Aapje"},{"categorie":"Sapje"},{"categorie":"Tapje"},{"categorie":"Uapje"},{"categorie":"Vapje"}]<?php //echo json_encode($model); ?>; </script>
<h1>Category</h1>
<div class="columns">
<ul data-bind="foreach: ListOfItems">
<li data-bind="text: categorie">
</li>
</ul>
</div>
使用击倒BTW。 ListOfItems =可观察的数组淘汰模型对象。 我没有与淘汰赛联系在一起但是让解决方案与之兼容并不会受到伤害。
答案 0 :(得分:2)
答案 1 :(得分:2)
简单的vanilla JavaScript:
var model = [{"categorie":"Aapje"},{"categorie":"Bapje"},{"categorie":"Capje"},{"categorie":"Dapje"},{"categorie":"Eapje"},
{"categorie":"Fapje"},{"categorie":"Gapje"},{"categorie":"Hapje"},{"categorie":"Iapje"},
{"categorie":"Japje"},{"categorie":"Kapje"},{"categorie":"Lapje"},
{"categorie":"Mapje"},{"categorie":"Napje"},{"categorie":"Oapje"},{"categorie":"Papje"},
{"categorie":"Qapje"},{"categorie":"Aapje"},{"categorie":"Sapje"},{"categorie":"Tapje"},{"categorie":"Uapje"},{"categorie":"Vapje"}];
var map = {};
model = model.sort(function(a, b){
return a.categorie > b.categorie ? -1 : 1;
});
for (var i=0; i<model.length; i++) {
var entry = model[i];
var first = entry.categorie.charAt(0);
if (!map[first]) {
map[first] = [];
}
map[first].push(entry.categorie);
}
console.log('map:', map);