我将我的json对象存储到全局变量中:
var getData= data;
//我可以为这个
添加名称属性的值 $("#Name").on("click",function()
{
$(".the-return").slideUp("normal",function()
{
//getData.responseData.sort('name');//to call the sorting function
for (i = 0; i < getData.length; i++) {
$(".the-return2").append("<div class='inside_return'>Name:" + getData[i].name +"</div>");
}
});
});
问题现在,我想在显示之前进行排序......所以我调用这样的函数:getData.responseData.sort('name');
我的排序功能:
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;
});
现在的问题是,在调用排序函数后无法对数据进行排序和显示。如何在排序后正确启动对该函数的调用传递显示数据?
我正在考虑在我的排序函数结束时调用一个函数,将已排序的数据附加到一个名为-reval2的div中,如下所示:
上面的排序功能 ............ ...............
return a.localeCompare(b);
}
// etc
return;
display_all(b);//to call a function to append
});
附加数据:
function display_all(sorted_data)
{
for (i = 0; i < getData.length; i++) {
$(".the-return2").append("<div class='inside_return'>Name:" + getData[i].name +"</div>");
}
}
****但是它没有显示已排序的数据!