javascript - js中的for in 如何倒过来?
大家讲道理
大家讲道理 2017-04-10 14:48:48
0
4
497

从后台传来的数据本来是这样的
{"2013-2014":{"2":{...},"1":{...}}}

但是ajax后接收到的变成了这样:
所以我打算在前端渲染的时候调换一下渲染顺序,能否倒过来循环呢?
或者是否有其它方法解决解决以上问题?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(4)
Ty80
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 一下。

いいねを押す +0
Ty80
'use strict';

var object = {
    '2013-2014': [
        {'id': 2},
        {'id': 1}
    ]
};

for (var index in object['2013-2014']) {
    console.log(object['2013-2014'][index].id);
}

不知道后台返回数组能不能符合你的要求,返回一个数组就不会出现乱序的问题

いいねを押す +0
Peter_Zhu

返回数组,如果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]);
}
いいねを押す +0
刘奇

for(var i in arr){
console.log(arr[arr.length-i-1]);
}

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート