使用jquery对JSON进行排序
Sort JSON with jquery
如何按first_name对JSON对象进行排序?
{
1 :{user_id:1, first_name:"first_name1", last_name:"lastname1", email:"user1@test.com"},
7 :{user_id:7, first_name:"user2", last_name:"test2", email:""},
72 :{user_id:72, first_name:"testing343", last_name:"", email:""},
246:{user_id:246, first_name:"aaa", last_name:"ssss", email:""}
}
首先,您的JSON字符串无效。首先清除它,您将被迫eval()
当前形式的字符串,JSON.parse()
将不起作用。
对象键按规范无序排列。您不能静态地对键名进行"排序"并将其冻结在对象中。但你当然可以对凯恩斯主义进行排序,并按照它们的价值观进行操作。
例如:
var json = '{1:{user_id:1, first_name:"first_name1", last_name:"lastname1", email:"user1@test.com"}, 7:{user_id:7, first_name:"user2", last_name:"test2", email:""}, 72:{user_id:72, first_name:"testing343", last_name:"", email:""}, 246:{user_id:246, first_name:"aaa", last_name:"ssss", email:""}}';
json = eval( json );
Object.keys( json ).sort(function( a,b ) {
return json[a].first_name.localeCompare( json[b].first_name );
}).forEach(function( key ) {
console.log( json[key].first_name );
});
该代码假定启用ES5的JS引擎或任何类型的ES5填充程序库可用。
按照如下方式编写JSON对象:
data = [{user_id:1, first_name:"first_name1", last_name:"lastname1", email:"user1@test.com"}, {user_id:7, first_name:"user2", last_name:"test2", email:""}, {user_id:72, first_name:"testing343", last_name:"", email:""}, {user_id:246, first_name:"aaa", last_name:"ssss", email:""}]
所以它现在是一个数组。然后你可以在上面调用.sort()
。
data.sort(function(a, b) {
var x = a.first_name.toLowerCase(), y = b.first_name.toLowerCase();
return x < y ? -1 : x > y ? 1 : 0;
});
为什么要对对象进行排序?
您需要将此对象循环到一个数组中,然后对数组进行排序。http://jsfiddle.net/z2xsC/例如:
//loop into array
var arr = [];
for( var key in data ){
if( data.hasOwnProperty( key ) ){
arr.push( data[key] );
}
}
//now, sort your array
arr.sort( function(a,b) {
var nameA=a.first_name.toLowerCase(),
nameB=b.first_name.toLowerCase();
if (nameA < nameB){
return -1;
} else if (nameA > nameB){
return 1
} else {
return 0
}
});
相关文章:
- 排序 JSON 时遇到问题
- 日历数据排序 json 树
- 用JavaScript排序JSON数据
- 从jQuery . getjson()重新排序JSON数据
- 在表中排序JSON数据
- 用AngularJS排序JSON对象数组
- 麻烦排序json对象最接近当前日期与一些值未定义
- 使用javascript升序排序Json对象
- 排序json对象
- 通过在json对象的每个属性中找到的索引来排序json对象的最佳方法是什么?
- 按属性的重要性排序JSON对象数组
- 如何按日期排序json数据
- 如何排序json与两个项目
- 使用jQuery排序JSON对象
- 按类别排序JSON内容
- 当日期不是有效格式时,按日期排序json
- 排序JSON与JavaScript字母顺序之前的数字
- 我如何过滤和排序Json数据
- 排序JSON对象'子键由它们的子键'值
- 按值排序json对象