Coffeescript-list-comprehensions-in-coffeescript

提供:Dev Guides
移動先:案内検索

CoffeeScript-リスト内包表記

CoffeeScriptでは、オブジェクトのグループを配列に保存することもできます。 list 内包表記は、オブジェクトの配列を別の配列にマッピングするために使用されます。

構文

CoffeeScriptに_ [\ {key1: "value"、key2:value}、\ {key1: "value"、key2:value}] _としてオブジェクトの配列があると仮定すると、 list を使用してこれらの要素を繰り返すことができます以下に示すように理解。

for key,value of  [ {key1: "value", key2: value}, {key1: "value", key2: value} ]
   console.log key+"::"+value

次の例は、CoffeeScriptが提供する list 内包表記の使用法を示しています。 このコードを list_comprehensions.coffee という名前のファイルに保存します

students =[
    name: "Mohammed"
    age: 24
    phone: 9848022338
  ,
    name: "Ram"
    age: 25
    phone: 9800000000
  ,
    name: "Ram"
    age: 25
    phone: 9800000000
 ]

names = (student.name for student in students)
console.log names
  • コマンドプロンプト*を開き、以下に示すように.coffeeファイルをコンパイルします。
c:\> coffee -c list_comprehensions.coffee

コンパイル時に、次のJavaScriptが提供されます。

//Generated by CoffeeScript 1.10.0
(function() {
  var names, student, students;

  students = [
    {
      name: "Mohammed",
      age: 24,
      phone: 9848022338
    }, {
      name: "Ram",
      age: 25,
      phone: 9800000000
    }, {
      name: "Ram",
      age: 25,
      phone: 9800000000
    }
  ];

  names = (function() {
    var i, len, results;
    results = [];
    for (i = 0, len = students.length; i < len; i++) {
      student = students[i];
      results.push(student.name);
    }
    return results;
  })();

  console.log(names);

}).call(this);

次に、*コマンドプロンプト*を再度開き、以下に示すようにCoffeeScriptファイルを実行します。

c:\> list_comprehensions.coffee

CoffeeScriptファイルを実行すると、次の出力が生成されます。

[ 'Mohammed', 'Ram', 'Ram' ]