排序json对象后如何在html中呈现

时间:2015-05-08 21:41:40

标签: jquery json sorting

我正在获取JSON对象,这是我查询的结果。现在我想对JSON对象数组进行排序,以显示按用户选择的名称或信誉排序。

ALl我现在需要知道在执行排序后它是如何将数据传递给HTML的?

用户触发按钮排序后的功能:

$("#Name").on("click",function()
{
    $(".the-return").slideUp("normal",function()
    {


        getData.responseData.sort('name');//passing to sorting funtion


       // displaying after sorted
        for (i = 0; i < getData.length; i++) {
        $(".the-return2").append("<div class='inside_return'>Name:" + getData[i].name +"</div>");

        }

    });
});

排序功能

 getData.responseData.sort(function (a, b) {
        switch (sortOption) {
            case 1:
                a = a.name,
                b = b.name;
                type = "string";
            case 2:
                a = a.reputation,
                b = b.reputation;
                type = "numeric";
            // etc
        }
        if (type == "numeric")
        {
            // numeric comparison
            return a > b ? 1 : (a < b ? -1 : 0);
        } else if (type == "string") {

            // string comparison
            return a.localeCompare(b); 
        }
        // etc

        return;


    });

ABove代码,什么都不做..

我在控制台中看到此错误:未捕获的TypeError:无法读取未定义的属性'responseData'

1 个答案:

答案 0 :(得分:0)

看起来你想做这样的事情:

getData = {
    responseData : {
        sort : function (a, b) {

        }
    }
}

目前getData未定义,因此尝试访问成员responseData会导致错误。