从后台传来的数据本来是这样的
{"2013-2014":{"2":{...},"1":{...}}}
但是ajax后接收到的变成了这样:
所以我打算在前端渲染的时候调换一下渲染顺序,能否倒过来循环呢?
或者是否有其它方法解决解决以上问题?
PHP中文网2017-04-10 14:50:48
var indexes = Object.keys(obj).sort(function(a,b){return +a - +b;});
for(var i=0; i<indexes.length; i++) {
console.log(obj[indexes[i]]);
}
使用了 ES5 方法不兼容老浏览器,需要 polyfill 一下。
PHP中文网2017-04-10 14:50:48
'use strict';
var object = {
'2013-2014': [
{'id': 2},
{'id': 1}
]
};
for (var index in object['2013-2014']) {
console.log(object['2013-2014'][index].id);
}
不知道后台返回数组能不能符合你的要求,返回一个数组就不会出现乱序的问题
天蓬老师2017-04-10 14:50:48
返回数组,如果id不是顺序的话(如2,1,300,2500,785...
),就用{"2013-2014":[{"id":2,...},...]}
这样的,否则用{"2013-2014":[{...},...]}
这样的。
for(var i=0;i<arr.length;i++){
(function(){
// 此处this就是后台传来的数据对应部分
}).call(arr[i]);
}