Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON-对作为对象的数组项进行排序_Javascript_Json_Sorting - Fatal编程技术网

Javascript JSON-对作为对象的数组项进行排序

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]);

请参考-

需求是根据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 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));