国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JavaScript 專項練習:函數篇(一)

longmon / 1865人閱讀

摘要:引言在學習的過程中看了不少書,但卻很少有專項練習,因此開這樣一個專題,希望能在練習中復習鞏固所學的知識函數篇一本篇主要考察編寫函數的技能和基本知識,同時也是對標準庫函數的練習。

引言

在學習 JavaScript 的過程中看了不少書,但卻很少有專項練習,因此開這樣一個專題,希望能在練習中復習鞏固所學的知識~ :)

函數篇(一)

本篇主要考察編寫函數的技能和基本知識,同時也是對 JavaScript 標準庫函數的練習。

1. 寫一個函數用來反轉數字

reverseNumber(12345); // 54321

2. 寫一個函數來檢測傳入的字符串是否為回文

isPalindrome("hello"); // false
isPalindrome("madam"); // true

3. 寫一個函數對傳入的字符串輸出所有子字符串組合(注意去重)

substrings("dog"); // ["d", "do", "dog", "o", "og", "g"]

4. 寫一個函數對傳入的字符串重新按字母排序

reorderStr("webmaster"); // abeemrstw

5. 寫一個函數對傳入的字符串中每個單詞的首字母大寫

upperWords("the quick brown fox"); // The Quick Brown Fox

6. 寫一個函數找出傳入的字符串中最長的單詞

findLongest("Web Development Tutorial"); // Development
答案

以下給出我的解法,期待能有更好的答案。

// 1. 寫一個函數用來反轉數字

(function(){
  "use strict";
  function reverseNumber(num) {
    if(typeof num !== "number") {
      throw "Pls input a number!";
    }
    var result = num.toString().split("").reverse().join("");
    return +result;
  }
  
  console.log(reverseNumber(12345));
})();
// 2. 寫一個函數來檢測傳入的字符串是否為回文

(function(){
  "use strict";
  function isPalindrome(str) {
    if(typeof str !== "string") {
      throw "Pls input a string!";
    }
    var tmp = str.split("").reverse().join("");
    return tmp === str;
  }
  
  console.log(isPalindrome("hello"));
  console.log(isPalindrome("madam"));
})();
// 3. 寫一個函數對傳入的字符串輸出所有子字符串組合

(function(){
  "use strict";
  function substrings(str) {
    if(typeof str !== "string") {
      throw "Pls input a string!";
    }
    var result = [];
    function next(idx) {
      var i, n = str.length - idx;
      for(i=1; i<=n; i++) {
        add(str.substr(idx, i));
      }
      if(idx < str.length){
        next(idx+1);
      }
    }
    function add(item) {
      if(result.indexOf(item)<0) {
        result.push(item);
      }
    }
    next(0);
    return result;
  }
  
  console.log(substrings("dog"));
})();
// 4. 寫一個函數對傳入的字符串重新按字母排序

(function(){
  "use strict";
  function reorderStr(str) {
    if(typeof str !== "string") {
      throw "Pls input a string!";
    }
    return str.split("").sort().join("");
  }
  
  console.log(reorderStr("webmaster"));
})();
// 5. 寫一個函數對傳入的字符串中每個單詞的首字母大寫

(function(){
  "use strict";
  function upperWords(str) {
    if(typeof str !== "string") {
      throw "Pls input a string!";
    }
    return str.split(" ").map(upperFirstLetter).join(" ");
    
    function upperFirstLetter(str) {
      return str.charAt(0).toUpperCase().concat(str.substr(1));
    }
  }
  
  console.log(upperWords("the quick brown fox"));
})();
// 6. 寫一個函數找出傳入的字符串中最長的單詞

(function(){
  "use strict";
  function findLongest(str) {
    if(typeof str !== "string") {
      throw "Pls input a string!";
    }
    var items = str.split(" ");
    return getMax(items);
    
    function getMax(arr) {
      var i, max = 0, n=arr.length;
      for(i = 0; i < n; i++) {
        if(arr[i].length > arr[max].length) {
          max = i;
        }
      }
      return arr[max];
    }
  }
  
  console.log(findLongest("Web Development Tutorial"));
})();

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79050.html

相關文章

  • 右腦編程--左腦是基礎(3)之邏輯

    摘要:結果顯示,代碼寫的好的,用中文表述起來也是清晰明了代碼寫的差的,基本上無法用中文來表述自己的思維意圖。注意這部分全部用中文來練習,這樣,就沒人有借口來為自己的邏輯問題找理由了。 在上一篇中,我講到了英語的重要性,也提到了一個概念代碼即注釋。事實上的確如此,一個編寫良好的代碼,本身就是一個注釋,或者說是一個優秀程序員的思想結晶。無需另外再增加注釋了。我們在閱讀一篇優秀的文章時,通常都被文...

    whlong 評論0 收藏0
  • 右腦編程--左腦是基礎(3)之邏輯

    摘要:結果顯示,代碼寫的好的,用中文表述起來也是清晰明了代碼寫的差的,基本上無法用中文來表述自己的思維意圖。注意這部分全部用中文來練習,這樣,就沒人有借口來為自己的邏輯問題找理由了。 在上一篇中,我講到了英語的重要性,也提到了一個概念代碼即注釋。事實上的確如此,一個編寫良好的代碼,本身就是一個注釋,或者說是一個優秀程序員的思想結晶。無需另外再增加注釋了。我們在閱讀一篇優秀的文章時,通常都被文...

    dreamtecher 評論0 收藏0
  • 右腦編程--左腦是基礎(3)之邏輯

    摘要:結果顯示,代碼寫的好的,用中文表述起來也是清晰明了代碼寫的差的,基本上無法用中文來表述自己的思維意圖。注意這部分全部用中文來練習,這樣,就沒人有借口來為自己的邏輯問題找理由了。 在上一篇中,我講到了英語的重要性,也提到了一個概念代碼即注釋。事實上的確如此,一個編寫良好的代碼,本身就是一個注釋,或者說是一個優秀程序員的思想結晶。無需另外再增加注釋了。我們在閱讀一篇優秀的文章時,通常都被文...

    z2xy 評論0 收藏0
  • 右腦編程--左腦是基礎(3)之邏輯

    摘要:結果顯示,代碼寫的好的,用中文表述起來也是清晰明了代碼寫的差的,基本上無法用中文來表述自己的思維意圖。注意這部分全部用中文來練習,這樣,就沒人有借口來為自己的邏輯問題找理由了。 在上一篇中,我講到了英語的重要性,也提到了一個概念代碼即注釋。事實上的確如此,一個編寫良好的代碼,本身就是一個注釋,或者說是一個優秀程序員的思想結晶。無需另外再增加注釋了。我們在閱讀一篇優秀的文章時,通常都被文...

    sourcenode 評論0 收藏0
  • 右腦編程--左腦是基礎(3)之邏輯

    摘要:結果顯示,代碼寫的好的,用中文表述起來也是清晰明了代碼寫的差的,基本上無法用中文來表述自己的思維意圖。注意這部分全部用中文來練習,這樣,就沒人有借口來為自己的邏輯問題找理由了。 在上一篇中,我講到了英語的重要性,也提到了一個概念代碼即注釋。事實上的確如此,一個編寫良好的代碼,本身就是一個注釋,或者說是一個優秀程序員的思想結晶。無需另外再增加注釋了。我們在閱讀一篇優秀的文章時,通常都被文...

    VPointer 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<