考虑如下向对象添加值
var obj ={};
obj["3"] = 10;
obj["2"] = 10;
obj["0"] = 10;
alert(Object.keys(obj));
在除 safari 之外的所有浏览器中,Object.keys 返回类似 0,2,3,而在 safari 中,这返回为添加顺序,如 3,2,0
这是 Safari 中的已知问题(任何特定版本)
最佳答案
唯一的要求是它保留与 for ... in
相同的顺序
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
如果没有,您应该将其作为 Safari 的错误提交,否则它符合规范。
关于javascript - Safari 中的 Object.keys 行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37802658/