0

我有一个 JSON 格式键 - 值:

{
"535826": "Adamov",
"536156": "Bečice",
"544272": "Borek",
"544281": "Borovany",
"535681": "Borovnice",
"544299": "Boršov nad Vltavou",
"535401": "Bošilec",
"551490": "Branišov",
"536059": "Břehov"
}

如果我显示此写出的源代码,则所有内容都按上述排序,aplhabeticaly。

问题是,如果我使用 jQuery.ajax

在这种情况下,返回值按 ID 排序,例如 536059

我在 Jquery 移动列表上写广告,所以我不能使用类似的排序方法

//SORT UNORDERED LIST  - NOT USED 
function sortUnorderedList(ul, sortDescending) {
      if(typeof ul == "string")
        ul = document.getElementById(ul);

      // Idiot-proof, remove if you want
      if(!ul) {
        alert("The UL object is null!");
        return;
      }

      // Get the list items and setup an array for sorting
      var lis = ul.getElementsByTagName("LI");
      var vals = [];

      // Populate the array
      for(var i = 0, l = lis.length; i < l; i++)
        vals.push(lis[i].innerHTML);

      // Sort it
      vals.sort();

      // Sometimes you gotta DESC
      if(sortDescending)
        vals.reverse();

      // Change the list on the page
      for(var i = 0, l = lis.length; i < l; i++)
        lis[i].innerHTML = vals[i];
    }

有任何简单的解决方案吗?

非常感谢您的帮助。

4

1 回答 1

0

地图的问题在于它本质上是未排序的。你能控制源头吗?您可以生成一个键/值对列表,其中将保持顺序:

[{"535826": "Adamov"},
{"536156": "Bečice"},
{"544272": "Borek"},
{"544281": "Borovany"},
{"535681": "Borovnice"},
{"544299": "Boršov nad Vltavou"},
{"535401": "Bošilec"},
{"551490": "Branišov"},
{"536059": "Břehov"}]
于 2012-05-10T11:55:52.210 回答