如何从.getJSON方法

时间:2016-06-06 03:28:50

标签: javascript jquery json sorting

现在我的输出在页面上以原始JSON文件中反映的相同顺序呈现。我希望弄清楚如何按每个项目中的属性进行排序。

示例包括按name desc和asc - 或 - 按index asc或desc按字母顺序排序。

非常感谢任何帮助!

menu.json

{ "menuItems": [
	{
    "index": 12432564,
    "parentCategory": "Espresso",
    "name": "Caffè Americano",
    "photos": {
      "squarePhoto": "photo.jpg"
    }
  }, {
    "index": 3546754,
    "parentCategory": "Espresso",
    "name": "Caffè Latte",
    "photos": {
      "squarePhoto": "photo.jpg"
    }
  }...

master.js

$.getJSON('menu.json', function(drinks) {
  var output = "";
  for (var i in drinks.menuItems) {
      output += "<li>" + drinks.menuItems[i].name + "</li>";
  }
  //output+="</ul>";
  document.getElementById("demo").innerHTML=output;
});

1 个答案:

答案 0 :(得分:0)

您可以使用.sort方法按名称对此json对象进行排序。

希望此代码段有用

var o={ "menuItems": [
    {
    "index": 12432564,
    "parentCategory": "Espresso",
    "name": "Caffè Latte",
    "photos": {
      "squarePhoto": "photo.jpg"
    }
  }, {
    "index": 3546754,
    "parentCategory": "Espresso",
    "name": "Caffè Americano",
    "photos": {
      "squarePhoto": "photo.jpg"
    }
  }
]
}
var _getMenuItem  = o.menuItems;
var _sortedArray = _getMenuItem.sort(function(a,b){
  return a.name >b.name ?1 :-1
})
  console.log(_sortedArray);

jsfiddle