0

昨天@SuperSkunk 为我解决了这个小问题:如何从对象返回设置

我有这个设置来从存储的设置中检索值:

myProject =

 settings:
  value1: one
  value2: two
  value3: three

 getSetting: (key) ->
  @settings[key]

所以当我打电话时getSetting('value1')我得到one

如何更改代码以传递 n-Arguments 以获取 n-Values?先感谢您!

4

2 回答 2

2

您可以使用 splat 和列表推导:

getSetting: (keys...) ->
   (@settings[key] for key in keys)

现在,如果您调用getSettings 'value1', 'value2'结果是数组['one', 'two']

“按原样返回”可能只是在接收值时解构

所以在你做的调用方上面举个例子

[value1, value2] = getSettings "value1", "value2"
于 2012-10-10T12:35:48.607 回答
-1

要使用以下内容,请包含 underscore.js (http://underscorejs.org) 或咖啡脚本变体 (http://coffeescript.org/documentation/docs/underscore.html)

getSettings: (keys) ->
  _.map(_.flatten([keys]), (key) -> @settings(key))

以上应该与传入的数组或上面的单个值一起使用..

于 2012-10-10T12:31:26.033 回答