按排序顺序迭代对象中的键值对

evf*_*qcg 3 coffeescript underscore.js

我想迭代一个对象

obj = c: 5, a: 10, b: 15
Run Code Online (Sandbox Code Playgroud)

在基于密钥的顺序中,例如

_.each obj, (value, key) -> console.log(key, value)
Run Code Online (Sandbox Code Playgroud)

得到输出这个

# a 10
# b 15
# c 5
Run Code Online (Sandbox Code Playgroud)

在CoffeeScript +下划线库中执行此操作的最短方法是什么?

小智 5

for k in _.keys(obj).sort()
  console.log k, obj[k]
  # you may also bind the value to a local var for convenience:
  # v = obj[k]
Run Code Online (Sandbox Code Playgroud)

或单行形式: console.log k, obj[k] for k in _.keys(obj).sort()