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

資訊專欄INFORMATION COLUMN

JavaScript 的幾個小技巧

arashicage / 3161人閱讀

摘要:的幾個小技巧盡早將無效的用例盡早返回,避免意外和不必要的代碼處理。要添加一種新的就需要再添加一個分支判斷多重判斷時使用或者,避免過長邏輯判斷改進后一次循環(huán)兩個數(shù)組

JavaScript 的幾個小技巧 1. 盡早 return
function transformData(rawData) {
  // check if no data
  if (!rawData) {
    return [];
  }

  // actual function code goes here
  return rawData.map((item) => item);
}

將無效的用例盡早返回,避免意外和不必要的代碼處理。

2. 用對象映射方式替代分支語句
function getDrink (type) {
  if (type === "coke") {
    type = "Coke";
  } else if (type === "pepsi") {
    type = "Pepsi";
  } else if (type === "lemonade") {
    type = "Lemonade";
  } else if (type === "fanta") {
    type = "Fanta";
  } else {
    // acts as our "default"
    type = "Unknown drink!";
  }
  return "You"ve picked a " + type;
}

// Object literal
function getDrink (type) {
  var drinks = {
    "coke": "Coke",
    "pepsi": "Pepsi",
    "lemonade": "Lemonade",
    "default": "Default item"
  };
  return "The drink I chose was " + (drinks[type] || drinks["default"]);
}

分支語句的處理方式導(dǎo)致函數(shù)代碼量大,要覆蓋所有的邏輯分支。

要添加一種新的 type 就需要再添加一個分支判斷

3. 多重判斷時使用 Array.includes 或者 !~Array.indexOf(),避免過長邏輯判斷
function testFun(fruit) {
  if (fruit == "apple" || fruit == "strawberry" || fruit === "cherry") {
    console.log("red");
  }
}

// ----- 改進后 ------
function testFun(fruit) {
  const fruits = ["apple", "strawberry", "cherry"];
  if (redFruits.includes(fruit)) {
    console.log("red");
  }
   
  // if (!~redFruits.indexOf(fruit)) {
  //   console.log("red");
  // }
}
4. 一次循環(huán)兩個數(shù)組
const exampleValues = [2, 15, 8, 23, 1, 32];
const [truthyValues, falseyValues] = exampleValues.reduce((arrays, exampleValue) => {
  if (exampleValue > 10) {
    arrays[0].push(exampleValue);
    return arrays;
  }

  arrays[1].push(exampleValue);
  return arrays;
}, [[], []]);

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/105600.html

相關(guān)文章

  • 關(guān)于PHP數(shù)組的幾個小技巧

    摘要:我們知道在中多了幾個對數(shù)組使用的新特性。這里我們舉兩個實際的例子吧例子一仔細體會。例子二看到了吧,可以直接在循環(huán)中指定變量,然后在循環(huán)體中來使用,是不是很簡單好了本文就這些內(nèi)容了,歡迎繼續(xù)關(guān)注。更多知識,請前往 我們知道在PHP7.1中多了幾個對數(shù)組使用的新特性。 這里我們舉兩個實際的例子吧: 例子一: // PHP 7.1+ $options = [enabled => true, ...

    chenjiang3 評論0 收藏0
  • Pandas數(shù)據(jù)類型轉(zhuǎn)換的幾個小技巧

    摘要:利用的一些輔助函數(shù)進行類型轉(zhuǎn)換的函數(shù)和復(fù)雜的自定函數(shù)之間有一個中間段,那就是的一些輔助函數(shù)。這些輔助函數(shù)對于某些特定數(shù)據(jù)類型的轉(zhuǎn)換非常有用如。 利用Pandas進行數(shù)據(jù)分析時,確保使用正確的數(shù)據(jù)類型是非常重要的,否則可能會導(dǎo)致一些不可預(yù)知的錯誤發(fā)生。筆者使用Pandas已經(jīng)有一段時間了,但是還是會在一些小問題上犯錯誤,追根溯源發(fā)現(xiàn)在對數(shù)據(jù)進行操作時某些特征列并不是Pandas所能處理的...

    luckyw 評論0 收藏0
  • JavaScript個小技巧

    摘要:反之左操作數(shù)值為真,整個表達式的值則依賴于右操作數(shù)。以上的這種特性稱為運算符的短路行為,根據(jù)這個特性我們可以有效減少語句的使用,還可以增強程序的健壯性。數(shù)值上一個空串,會轉(zhuǎn)換為字符串字符串減會轉(zhuǎn)換為數(shù)值,如失敗則返回。 &&、||運算的高級用法 ??在JavaSript中,&&運算符除了可以對布爾值進行與(AND)運算之外,還可以對真假值進行與(AND)運算。JavaScript中所有...

    Apollo 評論0 收藏0
  • 正則系列——JavaScript正則表達式基礎(chǔ)語法鞏固篇

    摘要:基礎(chǔ)語法鞏固正則表達式引擎根據(jù)正則去匹配字符的時候,是通過檢查索引的方式。妻原配就是好,可以直接使用正則表達式調(diào)用它。下面解釋一下上面這些常用的元字符查找單個字符,除了換行和行結(jié)束符。正則系列文章整理到了 上一章內(nèi)容:正則表達式實戰(zhàn)篇 知識回顧 前2章分別學(xué)習(xí)了正則表達式入門技巧,以及遇到正則需求該如何去分析問題,還有正則表達式實戰(zhàn)的一些場景解釋。 這一章內(nèi)容偏向理論,推薦你點擊開頭的...

    phodal 評論0 收藏0

發(fā)表評論

0條評論

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