首页 > 解决方案 > 对象属性在在线代码编辑器中按字母顺序排序

问题描述

let menu = {
  width: 200,
  height: 300,
  title: "My menu"
};

let myF = obj => { for(let prop in obj){
if(typeof obj[prop] == "number" ){
obj[prop] *= 2}

}  

}

myF(menu);
console.log(menu);

我创建了一个将所有数字属性相乘的函数。当我在在线代码编辑器 jsfiddle 中工作时,菜单对象的属性令人惊讶地按字母顺序排序:

{
  height: 600,
  title: "My menu",
  width: 400
}

我只是想知道为什么在线代码编辑器会这样。另外,在我看来,这个功能在处理大量代码行时很容易误导,那么在这样的地方编码是一个坏习惯吗?

标签: javascriptsortingobjectpropertiesalphabetical

解决方案


for...in 循环以任意顺序迭代对象的属性。您的代码不受顺序影响。


推荐阅读