Javascript JSON-对作为对象的数组项进行排序
请参考- 需求是根据bdate对JSON数据进行排序,如fiddle中所示。 排序只能在纯javascript中完成 我想到了forEach循环和所有循环,但无法对其进行排序。尝试以下方法:Javascript JSON-对作为对象的数组项进行排序,javascript,json,sorting,Javascript,Json,Sorting,请参考- 需求是根据bdate对JSON数据进行排序,如fiddle中所示。 排序只能在纯javascript中完成 我想到了forEach循环和所有循环,但无法对其进行排序。尝试以下方法: var datax = $("#x").val(); var e = JSON.parse(datax); function compare(a,b) { var da = a.birthday.split("/"); da = new Date(da[2], da[0]-1, da[1]);
var datax = $("#x").val();
var e = JSON.parse(datax);
function compare(a,b) {
var da = a.birthday.split("/");
da = new Date(da[2], da[0]-1, da[1]);
var db = b.birthday.split("/");
db = new Date(db[2], db[0]-1, db[1]);
if (da < db)
return -1;
if (da > db)
return 1;
return 0;
}
e.sort(compare);
console.log(JSON.stringify(e));
var datax=$(“#x”).val();
var e=JSON.parse(datax);
功能比较(a、b){
var da=a.birth.split(“/”);
da=新日期(da[2],da[0]-1,da[1]);
var db=b.birth.split(“/”);
db=新日期(db[2],db[0]-1,db[1]);
if(dadb)
返回1;
返回0;
}
e、 排序(比较);
log(JSON.stringify(e));
请在问题中包含相关代码。还有一种方法可以让你保持所有类似小提琴的功能
e.sort(函数(a,b){returna.bdate
你的问题是什么?你的数据在哪里?把你的代码放在问题里。指向外部站点的链接往往会过时。另外,既然您已经在使用jquery,为什么要使用“纯”javascript限制?@TheParamagneticCroissant OP应该使用.sort()
是正确的,但是comparator函数必须返回一个整数(负、正或零)。@nikhilrao现在应该可以工作了,您需要将日期字符串转换为实际日期进行比较。
var datax = $("#x").val();
var e = JSON.parse(datax);
function compare(a,b) {
var da = a.birthday.split("/");
da = new Date(da[2], da[0]-1, da[1]);
var db = b.birthday.split("/");
db = new Date(db[2], db[0]-1, db[1]);
if (da < db)
return -1;
if (da > db)
return 1;
return 0;
}
e.sort(compare);
console.log(JSON.stringify(e));