项目中遇到的问题—遍历对象里面的数组

通过接口调用出来的数据:

data是个对象而不是数组,且不能通过data['2007']这样来取到数据,因为这个年份是动态生成的,不能写死

需要实现的效果:

实现的代码:

$.post('api/tenYearDetailApi',{},function(msg){
        msg=JSON.parse(msg);
        console.log(msg);
        if(msg.code=='000'){
            for(var k in msg.data){//k :2017 2007等
                for(var key in msg.data[k]){//key :0,1,2,3
                    if(parseFloat(msg.data[k][key].per)<0){
                        msg.data[k][key].class="red";
                    }else{msg.data[k][key].class="";}
                }
            }
            for(var i=0;i<12;i++){
                //遍历添加12个tr
                $('#showYearTable tbody').append("<tr><td>"+[i+1]+"月</td></tr>");
                
                for(var l in msg.data){ //2007,2008
                    if(msg.data[l][i]){
                        $('#showYearTable tbody tr').eq(i).append('<td class="'+msg.data[l][i].class+'">'+msg.data[l][i].per+'%</td>');
                    }else{
                        //计算出缺少多少项
                        $('#showYearTable tbody tr').eq(i).append("<td></td>");
                    }
                }
            }
        }else{
            layer.msg(msg.msg);return;
        }
    });
原文地址:https://www.cnblogs.com/rachelch/p/7877758.html