用 jquery 颠倒 json 顺序

Reverse json order with jquery

我有一个 json 对象,我想颠倒顺序。

我的json:

var json = {
        'car 1' : {
            'brand' : 'Seat',
            'model' : 'Ibiza',
            'equip' : {
                'n1' : 'vidros electricos',
                'n2' : 'fecho central',
                'n3' : 'dirercção assistida'
            }
        },
        'car 2' : {
            'brand' : 'Volkswagen',
            'model' : 'Golf',
            'equip' : {
                'n1' : 'vidros electricos',
                'n2' : 'fecho central',
                'n3' : 'dirercção assistida',
                'n4' : 'abs'
            }
        },
        (...)
    }

我试过:

$.each(json.reverse(), function(index, value) {...}

但这给了我一个错误。我该怎么做?

提前谢谢。

对象中属性的顺序不能颠倒,因为它们不是基于索引的。只有数组可以反转,因为它们是基于索引的。

reverse() 不起作用,因为它是 Array 而不是 Object 的函数。将您的对象转换为数组,它应该可以正常工作。

   var json = {
    'car 1' : {
 'brand' : 'Seat',
 'model' : 'Ibiza',
 'equip' : {
  'n1' : 'vidros electricos',
  'n2' : 'fecho central',
  'n3' : 'dirercção assistida'
 }
},
'car 2' : {
 'brand' : 'Volkswagen',
 'model' : 'Golf',
 'equip' : {
  'n1' : 'vidros electricos',
  'n2' : 'fecho central',
  'n3' : 'dirercção assistida',
      'n4' : 'abs'
 }
}
};
  
var jsonArr = Object.keys(json).map(function(key) {
    return [key, json[key]];
});
  
jsonArr = jsonArr.reverse();
    
console.log(jsonArr[0]);  // Will print car 2
console.log(jsonArr[1]);  // Will print car 1