一些JS題目的解法

來源:互聯網
上載者:User

標籤:style   class   blog   code   java   http   

題目是從http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html看到的。

答案參考了文章的評論,也有自己的一些改進。

1.找出數字數組中最大的元素(使用Mach.max函數)

Math.max.apply(null,[1,2,3]);

2.轉化一個數字數組為function數組(每個function都彈出相應的數字)

[1,2,3].map(function(x){return function(){return x;};});

3.給object數組進行排序(排序條件是每個元素對象的屬性個數)

[{a:0,b:1},{a:0}].sort(function(a, b){return Object.keys(a).length - Object.keys(b).length;});

4.利用JavaScript列印出Fibonacci數(不使用全域變數)

(function(x){return x <= 1 ? 1 : arguments.callee(x-1) + arguments.callee(x-2);})(5);

5.實現如下文法的功能:var a = (5).plus(3).minus(6); //2

Number.prototype.plus = function(x){return this + x;};Number.prototype.minus = function(x){return this - x;};

6.實現如下文法的功能:var a = add(2)(3)(4); //9

function add(x){
  add.sum = add.sum ? add.sum += x : x;
  return add;
}
add.toString = add.valueOf = function(){
  return this.sum;
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.