1

可能重复:
对 JavaScript 对象进行排序

我有这样的json数据

[
  {
    "name":"anand",
    "type":"0"
  },
  {
    "name":"bajaj",
    "type":"0"
  },
  {
    "name":"cat",
    "type":"1"
  }
]

我将这些数据填充到带有标题、名称和类型的表中。

我已将这些数据存储在 javascript 全局数组中。现在我必须根据键对该全局数组进行排序。

例如,当我单击名称时,它必须根据名称和类型进行排序。

我已经尝试了很多东西,但它给出的排序不是函数错误。

var data_obj= [];  // declared a global variable 

 $.ajax({url: url,
         type:"post",
         data: "folder="+folder,
         success: function(data){
             data_obj = data // here i store returned json data in a global variable 
         }  
 });

一个简单的排序函数

 data_obj.sort(function(a, b){
     return [a.name] < [b.name] ? -1 : 1;
 });

但它给我排序不是一个功能。请帮我按键排序。

4

1 回答 1

1

推测服务器发送回 JSON 时带有错误的 Content-Type(编写 PHP 的人通常会忘记用 覆盖默认的 HTML 内容类型header('Content-Type: application/json');)。

这将导致data成为 HTML DOM 而不是从 JSON 膨胀的 Array,因此它没有sort方法。

于 2012-12-03T10:05:18.407 回答