当前位置:   article > 正文

javascript属性循环乱序问题、JSON.parse顺序错乱问题的解决_javascript太乱

javascript太乱
let jsonStr=`{"aaa":111,"bbb":222}`;
let json=JSON.parse(jsonStr);//循环时希望保持这个顺序
let keys=Object.keys(json);//javascript里的对象是一个无序hash结构,这是语言规范和浏览器决定的,我们无法违背,Object.keys拿到的顺序是乱的。
if(!Array.isArray(json)){//json数组本身就是保持顺序的,不用处理,这里只处理json对象
	keys.sort(function(a,b){
		let idx1=jsonStr.indexOf("\""+a+"\"");//只判断标准的双引号形式的json-key
		let idx2=jsonStr.indexOf("\""+b+"\"");//只判断标准的双引号形式的json-key
		return idx1-idx2;//index小的排前面
	});
}

for (const key of keys) {//这时候循环的就是字符串里的顺序
	let value=json[key];
}
			
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/299277
推荐阅读
相关标签
  

闽ICP备14008679号