为了账号安全,请及时绑定邮箱和手机立即绑定

RamdaJS:在执行对象操作后,我的键是否按字母顺序重新排序?预期的?

RamdaJS:在执行对象操作后,我的键是否按字母顺序重新排序?预期的?

HUX布斯 2021-05-13 18:13:36
我使用的许多Ramda函数似乎都发生了这种情况。例如,我正在阅读以下文档mergeAll:https : //ramdajs.com/docs/#mergeAll文档示例指出:R.mergeAll([{foo:1},{bar:2},{baz:3}]); //=> {foo:1,bar:2,baz:3}这就是我想要的!如果我在Ramda REPL中尝试完全相同的命令:https://ramdajs.com/repl/?v=0.26.1#?R.mergeAll%28%5B%7Bfoo%3A1%7D%2C%7Bbar%3A2%7D%2C%7Bbaz%3A3%7D%5D% 29%3B输出为: {"bar": 2, "baz": 3, "foo": 1}对象键按字母顺序排序。这是预期的行为,并且文档不正确吗?我正在尝试做一些在关键顺序相当重要的事情,而这种按字母顺序排列的排序证明是个问题!:(
查看完整描述

1 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

那只是REPL输出格式的产物。

另一个版本使用console.log说明他们是真的在你所期望的顺序。但是,我非常同意Pointy的观点,即应该避免在几乎任何事情上都依靠这一命令。

Ramda团队已讨论了在创建对象时实际上按字母顺序对键进行排序的方法,以避免出现某种类型的错误。这是有争议的,即使几年后也没有做出任何决定。


查看完整回答
反对 回复 2021-05-27
  • 1 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信