我正在获取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'
答案 0 :(得分:0)
看起来你想做这样的事情:
getData = {
responseData : {
sort : function (a, b) {
}
}
}
目前getData未定义,因此尝试访问成员responseData会导致错误。