Javascript排序方法
我在一个网站上使用了一些代码,我试图按照会员id对结果进行排序。我在下面的代码中留下了评论,这里是这样的。它似乎没有按照结果的顺序进行排序,所以我想我一定是做错了什么。有人知道问题是什么吗?也许我可以将显示的结果限制在10个左右Javascript排序方法,javascript,sorting,Javascript,Sorting,我在一个网站上使用了一些代码,我试图按照会员id对结果进行排序。我在下面的代码中留下了评论,这里是这样的。它似乎没有按照结果的顺序进行排序,所以我想我一定是做错了什么。有人知道问题是什么吗?也许我可以将显示的结果限制在10个左右 var httpRequestObject = $.ajax({ type: "POST", contentType: "application/json; charset=utf-8", url: "/Wcf/Search.svc/TestSearch", dataT
var httpRequestObject = $.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/Wcf/Search.svc/TestSearch",
dataType: "json",
success: function (response) {
if (response != null && response.d != null) {
var data = response.d;
if (data.ServiceOperationOutcome == 10) {
var profileList = data.MemberList;
if (profileList != null && profileList.length > 0) {
for (var i = 0; i < profileList.length; i++) {
var profile = profileList[i];
// sort var
var memberId = (profile.MemberId);
if (profile != null) {
var clonedTemplate = $('.profile-slider #profile').clone();
$(clonedTemplate).removeAttr('style').removeAttr('id');
$(clonedTemplate).find('img').attr("src", profile.ThumbnailUrl).attr("alt", profile.Nickname).wrap('<a></a>');
$(clonedTemplate).appendTo('.profile-slider');
// sort
$(memberId).sort();
}
}
}
}
else {
alert("Error code " + String(data.ServiceOperationOutcome));
}
}
else {
alert("Null data");
}
},
error: function (jqXHR, textStatus, errorThrown) {
alert(errorThrown);
}
}) jQuery没有排序方法,但是有Array.sort,这可能是您要查找的,但是profile似乎是Array data.MemberList中的一个对象,所以您可能应该在遍历它之前对其进行排序:
var profileList = data.MemberList; // array
profileList.sort(function(a,b) {
return a.MemberId.localeCompare(b.MemberId);
});
for (var i = 0; i < profileList.length; i++) {
// do stuff to each item in the now sorted array
}
jQuery没有排序方法,但是有Array.sort,这可能是您要查找的,但是profile似乎是Array data.MemberList中的一个对象,因此您可能应该在迭代它之前对其进行排序:
var profileList = data.MemberList; // array
profileList.sort(function(a,b) {
return a.MemberId.localeCompare(b.MemberId);
});
for (var i = 0; i < profileList.length; i++) {
// do stuff to each item in the now sorted array
}
正如adeneo所说,您可能希望对成员列表进行排序
profileList = profileList
.filter(function (arg) {return arg !== null;}) // remove nulls
.sort(function(a, b) {
return a.MemberId < b.MemberId ? -1 : 1; // the < operator works for numbers or strings
});
正如adeneo所说,您可能希望对成员列表进行排序
profileList = profileList
.filter(function (arg) {return arg !== null;}) // remove nulls
.sort(function(a, b) {
return a.MemberId < b.MemberId ? -1 : 1; // the < operator works for numbers or strings
});
您对$memberId.sort;的意图是什么;?这里的memberId是什么?您对$memberId.sort;,有何意图;?这里的memberId是什么?