成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript 的幾個(gè)小技巧

arashicage / 3165人閱讀

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

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

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

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

2. 用對(duì)象映射方式替代分支語(yǔ)句
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"]);
}

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

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

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

// ----- 改進(jìn)后 ------
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)兩個(gè)數(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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105600.html

相關(guān)文章

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

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

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

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

    luckyw 評(píng)論0 收藏0
  • JavaScript個(gè)小技巧

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

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

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

    phodal 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<