CoffeeScript - listar compreensões

No CoffeeScript, também podemos armazenar um grupo de objetos em um array. olist compreensões são usadas para mapear um array de objetos para outro array.

Sintaxe

Suponha que temos uma matriz de objetos em CoffeeScript como [{chave1: "valor", chave2: valor}, {chave1: "valor", chave2: valor}], então você pode iterar esses elementos usando olist compreensão conforme mostrado abaixo.

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

Exemplo

O exemplo a seguir demonstra o uso do listcompreensão fornecida por CoffeeScript. Salve este código em um arquivo com o nomelist_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

Abra o command prompt e compilar o arquivo .coffee conforme mostrado abaixo.

c:\> coffee -c list_comprehensions.coffee

Na compilação, ele fornece o seguinte 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);

Agora, abra o command prompt novamente e execute o arquivo CoffeeScript conforme mostrado abaixo.

c:\> list_comprehensions.coffee

Ao ser executado, o arquivo CoffeeScript produz a seguinte saída.

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