题目来自: http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html
原创答案,肯能和出题者的标准答案不同,但至少能实现目标。
- 找出数字数组中最大的元素(使用Math.max函数)
Math.max.apply(Math, arr);
- 转化一个数字数组为function数组(每个function都弹出相应的数字)
arr.map(function(xld){
return function(){return xld}
})
- 给object数组进行排序(排序条件是每个元素对象的属性个数)
function count(o){var i = 0; for(var c in o){i++}return i};
arr.sort(function(a, b){return count(a) - count(b)})
- 利用JavaScript打印出Fibonacci数(不使用全局变量)
function f(xld){ return xld < 2 ? 1 : f(xld - 1) + f(xld-2)}
- 实现如下语法的功能:var a = (5).plus(3).minus(6); //2
Number.prototype.plus = function(xld){return this + xld};
Number.prototype.minus = function(xld){return this - xld};
- 实现如下语法的功能:var a = add(2)(3)(4); //9
function add(x){
add.valueOf = add.toString = function(){return x}
function add(y){ x+=y; return add}
return add;
}