- CoffeeScript 教程
- CoffeeScript - 主页
- CoffeeScript - 概述
- CoffeeScript - 环境
- CoffeeScript - 命令行实用程序
- CoffeeScript - 语法
- CoffeeScript - 数据类型
- CoffeeScript - 变量
- CoffeeScript - 运算符和别名
- CoffeeScript - 条件语句
- CoffeeScript - 循环
- CoffeeScript - 解析
- CoffeeScript - 函数
- CoffeeScript 面向对象
- CoffeeScript - 字符串
- CoffeeScript - 数组
- CoffeeScript - 对象
- CoffeeScript - 范围
- CoffeeScript - Splat
- CoffeeScript - 日期
- CoffeeScript - 数学
- CoffeeScript - 异常处理
- CoffeeScript - 正则表达式
- CoffeeScript - 类和继承
- CoffeeScript 高级
- CoffeeScript - Ajax
- CoffeeScript - jQuery
- CoffeeScript - MongoDB
- CoffeeScript - SQLite
- CoffeeScript 实用资源
- CoffeeScript - 快速指南
- CoffeeScript - 实用资源
- CoffeeScript - 讨论
CoffeeScript - 列表解析
在 CoffeeScript 中,我们还可以在一个数组中存储一组对象。列表解析常用于将一个对象数组映射到另一个数组。
语法
假设我们有一个 CoffeeScript 对象数组,例如 [{key1: "value", key2: value}, {key1: "value", key2: value}],那么你可以如下使用列表解析来迭代这些元素。
for key,value of [ {key1: "value", key2: value}, {key1: "value", key2: value} ]
console.log key+"::"+value
示例
以下示例演示了 CoffeeScript 提供的列表解析的用法。将此代码保存在名为 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' ]
coffeescript_comprehensions.htm
广告