JS for in 遍历对象顺序不对

后台返回对象参数展开后如下
JS for in 遍历对象顺序不对_第1张图片

当通过 for in 循环存放到数组的时候得到了
JS for in 遍历对象顺序不对_第2张图片
很显然顺序跟想象的不一样,因为对象中没有顺序,他不是数组,所以想要得到一个顺序就首先要只给对象指定规则,这里是通过对象的value的字母来指定的规则

//循环中使用
for(let item in this.objectOrder(data[0])){
	this.ChartsTabData.push(item)
								
}

//方法
objectOrder(obj) {//排序的函数
	var newkey = Object.keys(obj).sort(); //先用Object内置类的keys方法获取要排序对象的属性名,再利用Array原型上的sort方法对获取的属性名进行排序,newkey是一个数组
	var newObj = {};//创建一个新的对象,用于存放排好序的键值对
	for (var i = 0; i < newkey.length; i++) {//遍历newkey数组
	    newObj[newkey[i]] = obj[newkey[i]];//向新创建的对象中按照排好的顺序依次增加键值对
	}
	return newObj;//返回排好序的新对象
}

结果如下

JS for in 遍历对象顺序不对_第3张图片

你可能感兴趣的:(JS)