1

我在 Coffeescript 中有一组值,例如:

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

我想将此数组转换为一个仅包含值的数组。基本上,

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

=> []

我已经尝试了几种排列方式,但我只是不断地返回一个空数组。有小费吗?

4

1 回答 1

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

更新

《亩太短》的这首单行字就更好了。

arr = (val for key, val of obj)
于 2012-06-29T20:54:51.097 回答