我有一个如下表,我从mysql数据库中获取:
Col2 | Col3 | Col4
1 | Name1(something_1234) | Some_date
1 | Name1(something_3456) | Some_date
2 | Name3(something_7890) | Some_date
2 | Name4(something_0988) | Some_date
我正在使用javascript将这些数据转换为html,如下所示:
<script>
var new_col2 = [], new_col3 =[];
{% for b in obj %}
new_col2.push("{{b.col2 }}");
new_col3.push("{{b.col3 }}");
{% endfor %}
console.log(new_col2);
console.log(new_col3);
</script>
是否可以使用javascript使用上面的for循环创建一个字典:
{'1': ['Name1(something_1234)', 'Name1(something_3456)'], '2': 'Name3(something_7890)', 'Name4(something_0988)']}
答案 0 :(得分:1)
您可以这样做:
<script>
var dictionary = {}
{% for b in obj %}
if (!dictionary["{{b.col2 }}"]) {
dictionary["{{b.col2 }}"] = [];
}
dictionary["{{b.col2 }}"].push({{b.col3 }});
{% endfor %}
console.log(dictionary);
</script>
答案 1 :(得分:0)
假设obj是 javascript 对象列表 我们可以循环遍历列表,并将每一行推入我们将创建的地图中, 如果您不知道地图,请检查this
像这样的事情。var myMap= new Map();
obj.forEach(function(element) {
// my map set (key , value )
myMap.set(element.col2,element.col3);
});
您可以访问键1 myMap.get(1);
的值,这将返回使用键1映射的值。