jquery – 按字母顺序排序JSON

前端之家收集整理的这篇文章主要介绍了jquery – 按字母顺序排序JSON前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个基于存储在表中的数据生成JSON对象.然后我需要能够以不同的方式对它进行排序,但是当我执行JSON.stringify(数组)并尝试从那里排序时它不起作用.当我尝试做array.sort();它会改变顺序,但最终不起作用.我对JSON没有太多经验以及如何操作它所以我不知道还有什么可以尝试.在对它进行排序后,我需要按字母顺序重复使用所选类别的表格.

JSON看起来像这样:

var arr = [{
"Functional Category":"T-Shirt","Brand Name":"threadless","When Obtained":"Last 3 Months","How Obtained":"Purchased","How Often Worn":"Monthly","Where It's Made":"India","Has a Graphic":"Yes"}]

我在这里有一个小提琴设置:http://jsfiddle.net/Skooljester/88HVZ/1/我已经尝试了建议here,但无法使其工作.

我有两个问题,一个问题:如何实现这一目标,以及两个问题:是否有更好的方法进行排序?

解决方法

首先,定义一个比较函数
function compare(el1,el2,index) {
  return el1[index] == el2[index] ? 0 : (el1[index] < el2[index] ? -1 : 1);
}

然后,要对第一列上的数组进行排序,请使用:

array.sort(function(el1,el2){
  return compare(el1,"Functional Category")
});

或者,如果第一列相等,则对第一列A-Z和第二列Z-A进行排序:

array.sort(function(el1,el2){
  var compared = compare(el1,"Functional Category")
  return compared == 0 ? -compare(el1,"Brand Name") : compared;
});
原文链接:https://www.f2er.com/jquery/177929.html

猜你在找的jQuery相关文章