Rumah  >  Soal Jawab  >  teks badan

javascript - js中的for in 如何倒过来?

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

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

大家讲道理大家讲道理2749 hari yang lalu436

membalas semua(4)saya akan balas

  • PHP中文网

    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 一下。

    balas
    0
  • PHP中文网

    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);
    }
    

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

    balas
    0
  • 天蓬老师

    天蓬老师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]);
    }
    

    balas
    0
  • 怪我咯

    怪我咯2017-04-10 14:50:48

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

    balas
    0
  • Batalbalas