我有一个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) {...}
但这给了我一个错误。我怎么能这样做?
事先提前。答案 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)
对象中的属性顺序无法撤消,因为它们不是基于索引的。只有数组可以反转,因为它们是基于索引的。