我有一个动态的对象集合,我在页面上绑定到jQuery Template。我在客户端的这个对象集合是从我的服务器返回的List<T>
,其中T
可以是任何类的任何对象。例如:
Class Employee
{
string Name;
int Id;
int age;
}
Class Companies
{
int CompId;
string CompanyName;
string CompanyLocation;
}
现在根据用户请求,我会向客户端发送List<Employee>
或List<Companies>
。现在我只是想知道我们是否可以使用jquery在客户端对此列表进行排序。任何帮助将不胜感激。
答案 0 :(得分:0)
这可能不是你想要的,但它应该给你一个足够好的想法继续:
var list = [{
prop1: 'a',
prop2: 5
}, {
prop1: 'b',
prop2: 4
}, {
prop1: 'c',
prop2: 3
}, {
prop1: 'd',
prop2: 2
}, {
prop1: 'e',
prop2: 1
}];
function sort(propName, direction) {
var dirOffset = direction === 'desc' ? -1 : 1;
list.sort(function(a, b){
a = a[propName];
b = b[propName];
if (a === b) {
return 0;
}
var out = a < b ? -1 : 1;
return out * dirOffset;
});
}
function log(propName) {
list.forEach(function(item){
console.log(item[propName]);
});
}
function sortAndLog(propName, direction) {
console.log('Sorted by', propName, direction);
sort(propName, direction);
log(propName);
console.log('------------------------------------');
}
sortAndLog('prop1', 'desc');
sortAndLog('prop1', 'asc');
sortAndLog('prop2', 'asc');
sortAndLog('prop2', 'desc');
答案 1 :(得分:0)
jQuery 是一个操纵DOM的库,在字符串方面不是最好的。我会说你检查underscore.js。
下划线文件非常简单。您将找到如何轻松实现您想要的目标。