Javascript按值排序数组

Flu*_*yte 11 arrays sorting jquery

我有一个AJAX调用返回JSON就像...

{
  490: "A",
  675: "B",
  491: "C",
  520: "D",
  681: "E",
  679: "F",
  538: "G"    
}
Run Code Online (Sandbox Code Playgroud)

然后我将它附加到select使用:

var output = jQuery.parseJSON(data);

$.each(output, function(key, value) {
    $el.append($("<option></option>")
       .attr("value", key).text(value));
});
Run Code Online (Sandbox Code Playgroud)

我想按值排序,所以输出就是A,B,C,D...正确的,它只是按键的顺序读取.

这是踢球者 - 似乎在Firefox中运行良好,而不是在Chrome中运行.

Ano*_*oop 21

首先将其转换为数组,对其进行排序,然后创建html.的jsfiddle

var output = jQuery.parseJSON(data);
var temp = [];

$.each(output, function(key, value) {
    temp.push({v:value, k: key});
});
temp.sort(function(a,b){
   if(a.v > b.v){ return 1}
    if(a.v < b.v){ return -1}
      return 0;
});
$.each(temp, function(key, obj) {

$el.append($("<option></option>")
       .attr("value", obj.k).text(obj.v));
});
Run Code Online (Sandbox Code Playgroud)