CoffeeScript - lista de comprensiones
En CoffeeScript, también podemos almacenar un grupo de objetos en una matriz. loslist las comprensiones se utilizan para asignar una matriz de objetos a otra matriz.
Sintaxis
Supongamos que tenemos una matriz de objetos en CoffeeScript como [{clave1: "valor", clave2: valor}, {clave1: "valor", clave2: valor}], entonces puede iterar estos elementos usando ellist comprensión como se muestra a continuación.
for key,value of [ {key1: "value", key2: value}, {key1: "value", key2: value} ]
console.log key+"::"+value
Ejemplo
El siguiente ejemplo demuestra el uso de la listcomprensión proporcionada por CoffeeScript. Guarde este código en un archivo con nombrelist_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
Abre el command prompt y compile el archivo .coffee como se muestra a continuación.
c:\> coffee -c list_comprehensions.coffee
Al compilar, le da el siguiente 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);
Ahora, abre el command prompt nuevamente y ejecute el archivo CoffeeScript como se muestra a continuación.
c:\> list_comprehensions.coffee
Al ejecutarse, el archivo CoffeeScript produce la siguiente salida.
[ 'Mohammed', 'Ram', 'Ram' ]