将键值数组映射到值数组

时间:2012-06-29 20:38:08

标签: coffeescript

我在Coffeescript中有一系列值,以便:

arr = ['key1': 1, 'key2': 2, 'key3': 3]

我想将此数组转换为只是值的数组。基本上,

arr.map (iter) -> iter.value  # arr => [1,2,3]

=> []

我已经尝试了几种这样的排列,但我只是不断回到一个空数组。有什么提示吗?

1 个答案:

答案 0 :(得分:12)

这是一个CoffeeScript问题,示例代码是有效的CoffeeScript

arr = ['key1': 1, 'key2': 2, 'key3': 3]

转换为以下JavaScript:

var arr;
arr = [
  {
    'key1': 1,
    'key2': 2,
    'key3': 3
  }
];

首先,你必须意识到这一点

obj = 
  key1: 1 
  key2: 2
  key3: 3

很可能是你想要的。

然后,您可以使用以下代码创建仅包含对象值的数组。

arr = null
arr.push val for key, val of obj

<强>更新

这个来自'mu太短'的单行内容甚至更好。

arr = (val for key, val of obj)