【问题标题】:Reverse json order with jquery使用 jquery 反转 json 顺序
【发布时间】:2018-04-17 15:36:01
【问题描述】:

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

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

提前通知。

【问题讨论】:

标签: jquery json reverse


【解决方案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
    
		

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-10-28
      • 1970-01-01
      • 2012-10-17
      • 2021-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多