CoffeeScript 教程
CoffeeScript 使用数组来交换变量
使用数组来交换变量 问题 你想通过数组来交换变量。 解决方案 使用CoffeeScript的解构赋值语法: a = 1 b = 3 [a, b] = [b, a] a # =>…
CoffeeScript 对象数组
对象数组 问题 你想要得到一个与你的某些属性匹配的数组对象。 你有一系列的对象,如: cats = [ { name: “Bubbles” favoriteFood: “mice”…
CoffeeScript 类似 Python 的 zip 函数
类似 Python 的 zip 函数 问题 你想把多个数组连在一起,生成一个数组的数组。换句话说,你需要实现与Python中的zip函数类似的功能。Python的zip函数返回的是…
CoffeeScript 计算复活节的日期
计算复活节的日期 问题 你需要在给出的年份中找到复活节的月份和日期。 解决方案 下面的函数返回数组有两个要素:复活节的月份( 1-12 )和日期。如果没有给出任何参数,给出的结果是…
CoffeeScript 计算(美国和加拿大的)感恩节日期
计算(美国和加拿大的)感恩节日期 问题 你需要在给出的年份中找到感恩节的月份和日期。 解决方案 下面的函数返回给出年份的感恩节的日期。如果没有给出任何参数,给出的结果是当前年份。 …
CoffeeScript 计算两个日期中间的天数
计算两个日期中间的天数 问题 你需要找出两个日期间隔了几年,几个月,几天,几个小时,几分钟,几秒。 解决方案 利用JavaScript的日期计算函数getTime()。它提供了从1…
CoffeeScript 找到一个月中的最后一天
找到一个月中的最后一天 问题 你需要去找出一个月的最后一天,但是一年中的各月并没有一个固定时间表。 解决方案 利用JavaScript的日期下溢来找到给出月份的第一天: now =…
CoffeeScript 找到上一个月(或下一个月)
找到上一个月(或下一个月) 问题 你需要计算相关日期范围例如“上一个月”,“下一个月”。 解决方案 添加或减去当月的数字,JavaScript的日期构造函数会修复数学知识。 # t…
CoffeeScript 计算月球的相位
计算月球的相位 问题 你想找出月球的相位。 解决方案 以下代码提供了一种计算给出日期的月球相位计算方案: # moonPhase.coffee # Moon-phase calcu…
CoffeeScript 数学常数
数学常数 问题 你需要使用常见的数学常数,比如π或者e。 解决方案 使用Javascript的Math object来提供通常需要的数学常数。 Math.PI # => 3.…
CoffeeScript 更快的 Fibonacci 算法
更快的 Fibonacci 算法 问题 你想计算出Fibonacci数列中的数值N ,但需迅速地算出结果。 解决方案 下面的方案(仍有需改进的地方)最初在Robin Houston…
CoffeeScript 平方根倒数快速算法
平方根倒数快速算法 问题 你想快速计算某数的平方根倒数。 解决方案 在QuakeⅢ Arena的源代码中,这个奇怪的算法对一个幻数进行整数运算,来计算平方根倒数的浮点近似值。 在C…
CoffeeScript 生成可预测的随机数
生成可预测的随机数 问题 你需要生成在一定范围内的随机数,但你也需要对发生器进行“生成种子”操作来提供可预测的值。 解决方案 编写你自己的随机数生成器。当然有很多方法可以做到这一点…
CoffeeScript 生成随机数
生成随机数 问题 你需要生成在一定范围内的随机数。 解决方案 使用JavaScript的Math.random()来获得浮点数,满足0<=X<1.0。使用乘法和Math…
CoffeeScript 转换弧度和度
转换弧度和度 问题 你需要实现弧度和度之间的转换。 解决方案 使用JavaScript的Math.PI和一个简单的公式来转换两者。 # 弧度转换成度 radiansToDegree…
CoffeeScript 一个随机整数函数
一个随机整数函数 问题 你想要获得两个整数(包含在内)之间的一个随机整数。 解决方案 使用以下的函数。 randomInt = (lower, upper) -> [lowe…
CoffeeScript 指数对数运算
指数对数运算 问题 你需要进行包含指数和对数的运算。 解决方案 使用JavaScript的Math对象来提供常用的数学函数。 # Math.pow(x, y) 返回 x^y Mat…