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

アップデート

'mu istooshort'のこのワンライナーはさらに優れています。

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