javascript - 对象属性在在线代码编辑器中按字母顺序排序
问题描述
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
}
我只是想知道为什么在线代码编辑器会这样。另外,在我看来,这个功能在处理大量代码行时很容易误导,那么在这样的地方编码是一个坏习惯吗?
解决方案
for...in 循环以任意顺序迭代对象的属性。您的代码不受顺序影响。
推荐阅读
- python - 使用远程解释器的 Dask 客户端
- javascript - 如何包装 Node `EventEmitter` 以便能够将其作为终止的`AsyncIterator` 使用?
- python - 设置新的 root_path 后,Flask 找不到静态文件夹
- c# - 使用更改的参数名称将元组返回到 API 调用
- sql - 尝试在存储过程中设置默认参数值,但在 CONVERT 上出现错误
- max-msp-jitter - 从两个变化的值显示 RGB 颜色
- c# - 从类型中抽象,并在 ASP.NET / C# 中动态构建实体框架查询
- c# - 从另一个脚本调用函数以更改 UI 时出现问题
- javascript - Javascript 生成 html 元素以从特定主机名加载资源
- mysql - 在 MySQL 查询中检查修剪字符串的虚假性的正确方法是什么?