我正在尝试使用jinja文档来解决它,但我的所有尝试都失败了。
http://jinja.pocoo.org/docs/dev/templates/#sort
以下是一些测试JSON数据:
items: [{
name: 'item 1',
time: '2015-02-12T00:38:18.055Z'
},{
name: 'item 2',
time: '2014-01-12T00:40:18.881Z'
}]
我应该如何形成排序代码以便按时间排序?
我试过了:
{% for item in items|sort%}
和
{% for item in items|sort(attribute='time')%}
和
{% for item in items|sort('time')%}
和
{% for item in items|sort(time)%}
和
{% for item in items|sort(item.time)%}
但没有任何作用。谢谢!
答案 0 :(得分:3)
Nunjucks似乎只支持位置论证:
{% for item in items|sort(false, true, 'time') %}
{{item.name}}<br>
{% endfor %}
var res = nunjucks.renderString("{% for item in items|sort(false, true, 'time') %}{{item.name}}<br>{% endfor %}", { items: [{
name: 'item 1',
time: '2015-02-12T00:38:18.055Z'
},{
name: 'item 2',
time: '2014-01-12T00:40:18.881Z'
}] });
document.body.innerHTML = res;
&#13;
<script src="https://mozilla.github.io/nunjucks/files/nunjucks.js"></script>
&#13;
答案 1 :(得分:0)
将时间解析为Epoch时间并将其作为另一个属性传递,以便对其进行排序。
items: [{
name: 'item 1',
time: '2015-02-12T00:38:18.055Z',
epoch: 1232323532
}]
或使用自动执行此操作的自定义过滤器
答案 2 :(得分:0)
现在nunjucks已经支持参数了,所以{%for items in items | sort(attribute ='time')%}工作正常