用jquery反转json顺序

时间:2017-11-05 10:38:09

标签: jquery json reverse

我有一个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) {...}

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

事先提前。

2 个答案:

答案 0 :(得分:1)

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
    
		




答案 1 :(得分:0)

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