Javascript AngularJS中自动更改地图的顺序
我有一个map对象,其中包含一组元素,这些元素具有键和值对。关键是字符串日期,其值为消息。当我使用Javascript AngularJS中自动更改地图的顺序,javascript,angularjs,Javascript,Angularjs,我有一个map对象,其中包含一组元素,这些元素具有键和值对。关键是字符串日期,其值为消息。当我使用控制台打印地图对象时,我将地图对象存储在一个$scope变量中。log我将过去日期到当前日期的数据作为键按升序获取 请参阅下面的映射对象代码段。但是当我在html中看到时,顺序会自动改变。有人能说一下为什么要改变订单吗 地图的JSON数据 {"Mar 13, 2017":[{"msg":"Hello Mar 13","created":1489404180586}, "Mar 22, 2017":[
控制台打印地图对象时,我将地图对象存储在一个$scope
变量中。log
我将过去日期到当前日期的数据作为键按升序获取
请参阅下面的映射对象代码段。但是当我在html中看到时,顺序会自动改变。有人能说一下为什么要改变订单吗
地图的JSON数据
{"Mar 13, 2017":[{"msg":"Hello Mar 13","created":1489404180586},
"Mar 22, 2017":[{"msg":"Hello Mar 22","created":1490185383843}],
"Apr 16, 2017":[{"msg":"Hello Apr 16","created":1492329078569}],
"Apr 24, 2017":[{"msg":"Hello Apr 24","created":1493055290741},
"Apr 25, 2017":[{"msg":"Hello Apr 25","created":1493081729979}]}
HTML
<div ng-repeat='(key, value) in map'>
<p><span>Apr 16,2017</span></p>
<div ng-repeat="msg in value | orderBy : 'created'">
<div>
<div>
<span>Hello Apr 16</span>
</div>
<p><span>Apr 24,2017</span></p>
<div ng-repeat="msg in value | orderBy : 'created'">
<div>
<div>
<span>Hello Apr 24</span>
</div>
<p><span>Apr 25,2017</span></p>
<div ng-repeat="msg in value | orderBy : 'created'">
<div>
<div>
<span>Hello Apr 25</span>
</div>
<p><span>Mar 13,2017</span></p>
<div ng-repeat="msg in value | orderBy : 'created'">
<div>
<div>
<span>Hello Mar13</span>
</div>
<p><span>Mar 22,2017</span></p>
<div ng-repeat="msg in value | orderBy : 'created'">
<div>
<div>
<span>Hello Mar22</span>
</div>
</div>
</div>
2017年4月16日
你好,4月16日
2017年4月24日
你好,4月24日
2017年4月25日
你好,4月25日
2017年3月13日
你好,Mar13
2017年3月22日
你好,Mar22
能否向我们展示您的html代码,以及您尝试过的内容。在您想要实现的内容之上添加了html代码?您的代码混淆了您的地图没有自动更改,您只是使用角度过滤器对html视图中的数据进行排序,因此在控制器中打印地图时看到的是原始数据。在您的情况下,最好的方法是在重复之前在控制器中对数据进行排序。甚至,如果您愿意,您也可以在控制器中注入$filter
。@AayushiJain我希望数据按日期升序排列,但我无法实现它。