最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何讓js中的if判斷如絲般順滑詳解

 更新時(shí)間:2021年10月12日 11:52:41   作者:參謀總長(zhǎng)薩博  
條件判斷語句是程序開發(fā)過程中一種經(jīng)常使用的語句形式,和大部分編程語言相同,JavaScript 中也有條件判斷語句,這篇文章主要給大家介紹了關(guān)于如何讓js中的if判斷如絲般順滑的相關(guān)資料,需要的朋友可以參考下

前言

項(xiàng)目中的一個(gè)小需求點(diǎn),點(diǎn)擊按鈕,驗(yàn)證幾十個(gè)條件框,判斷所有條件框是否填寫(選擇)過數(shù)據(jù)(至少有一個(gè)條件判斷為真)再執(zhí)行對(duì)應(yīng)操作

判斷的條件框包含 Radio 單選框,Checkbox 多選框,Input 輸入框,InputNumber 計(jì)數(shù)器, Select 選擇器, Switch 開關(guān)等

項(xiàng)目使用的 Element 組件庫  V2.15.6

不同條件對(duì)應(yīng)的數(shù)據(jù)類型以及默認(rèn)值

  • Radio 單選框  string  ''
  • Checkbox 多選框  array []
  • Input 輸入框  string  ''
  • InputNumber 計(jì)數(shù)器  number  0
  • Select 選擇器
    • 單選 string  ''
    • 多選 array  []
  • Switch 開關(guān)  boolean  false

代碼實(shí)現(xiàn)

思路一

直接用 if  判斷開干,然后大概代碼如下(變量為模擬變量)

// 多條件判斷開始,如下

if (obj.radio1 || obj.checkbox1.length > 0 || obj.input1 || obj.inputNumber1 > 0 || obj.select1 || obj.select2.length > 0 || obj.switch1 || obj.radio2 || obj.checkbox2.length > 0 || obj.input2 || obj.inputNumber2 > 0 || obj.select3 || obj.select4.length > 0 || obj.switch2  ...) {
  // do something
} else {
  // 條件不符,提示
  this.$message({
    message: '請(qǐng)選擇條件后重試',
    type: 'warning'
  })
  return false
} 

實(shí)際項(xiàng)目場(chǎng)景中的變量名因?yàn)檎Z義化字符很多, if 判斷沒寫幾個(gè)就寫了很長(zhǎng)一串, 然后寫了幾個(gè)就寫不動(dòng)了(感覺在寫一坨 shi )

能不能用更優(yōu)雅的方式實(shí)現(xiàn)呢?

思路二

把這些需要判斷的變量放到一個(gè)數(shù)組里,用 map 處理成 Boolean  類型,使用 includes 判斷數(shù)組中是否包含指定的 Boolean 值

// 多條件判斷開始,如下

const arr = [
  obj.radio1,
  obj.checkbox1.length,
  obj.input1,
  obj.inputNumber1,
  obj.select1,
  obj.select2.length,
  obj.switch1,
  obj.radio2,
  obj.checkbox2.length,
  obj.input2,
  obj.inputNumber2,
  obj.select3,
  obj.select4.length,
  obj.switch2 
  ...
]

const arr1 = arr.map(item => Boolean(item))
if (arr1.includes(true)) {
  // do something
} else {
  // 條件不符,提示
  this.$message({
    message: '請(qǐng)選擇條件后重試',
    type: 'warning'
  })
  return false
} 

好了,if 處理大量判斷用這種方式使是不是更絲滑了 ^-^

總結(jié)

到此這篇關(guān)于如何讓js中if判斷如絲般順滑的文章就介紹到這了,更多相關(guān)js中的if判斷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

參考文檔

相關(guān)文章

  • JavaScript表格常用操作方法匯總

    JavaScript表格常用操作方法匯總

    這篇文章主要介紹了JavaScript表格常用操作方法,實(shí)例匯總了javascript中表格操作的創(chuàng)建、添加、刪除、遍歷等常用操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 強(qiáng)大的JSON.stringify如何使用

    強(qiáng)大的JSON.stringify如何使用

    本文主要介紹了強(qiáng)大的JSON.stringify如何使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 多種方法實(shí)現(xiàn)load加載完成后把圖片一次性顯示出來

    多種方法實(shí)現(xiàn)load加載完成后把圖片一次性顯示出來

    如何一個(gè)load 加載完成后把圖片一次性顯示出來,下面有個(gè)不錯(cuò)的方法,希望對(duì)大家有所幫助
    2014-02-02
  • JavaScript使用面向?qū)ο髮?shí)現(xiàn)的拖拽功能詳解

    JavaScript使用面向?qū)ο髮?shí)現(xiàn)的拖拽功能詳解

    這篇文章主要介紹了JavaScript使用面向?qū)ο髮?shí)現(xiàn)的拖拽功能,結(jié)合實(shí)例形式詳細(xì)分析了javascript基于面向?qū)ο蟮耐献Чδ軐?shí)現(xiàn)思路、原理與具體操作技巧,需要的朋友可以參考下
    2019-06-06
  • 利用JS動(dòng)態(tài)生成隔行換色HTML表格的兩種方法

    利用JS動(dòng)態(tài)生成隔行換色HTML表格的兩種方法

    這篇文章主要介紹了利用JS動(dòng)態(tài)生成隔行換色HTML表格的兩種方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-10-10
  • 原生小程序封裝跑馬燈效果

    原生小程序封裝跑馬燈效果

    這篇文章主要為大家詳細(xì)介紹了原生小程序封裝跑馬燈效果,由多條銜接改動(dòng)得到,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • JS的replace方法與正則表達(dá)式結(jié)合應(yīng)用講解

    JS的replace方法與正則表達(dá)式結(jié)合應(yīng)用講解

    replace方法的語法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正則表達(dá)式對(duì)象(RegExp)也可以是字符串(string),replaceText是替代查找到的字符串。。為了幫助大家更好的理解,下面舉個(gè)簡(jiǎn)單例子說明一下
    2007-12-12
  • 深入淺析JS是按值傳遞還是按引用傳遞(推薦)

    深入淺析JS是按值傳遞還是按引用傳遞(推薦)

    這篇文章主要介紹了JS是按值傳遞還是按引用傳遞(推薦)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • 詳解JS設(shè)計(jì)模式之橋接模式用法

    詳解JS設(shè)計(jì)模式之橋接模式用法

    javascript橋接橋接設(shè)計(jì)模式(Bridge Pattern)是一種結(jié)構(gòu)型設(shè)計(jì)模式,它用于將抽象部分與其具體實(shí)現(xiàn)部分分離,使它們可以獨(dú)立地變化,本文將通過代碼示例詳解的給大家介紹一下JS橋接模式,需要的朋友可以參考下
    2023-08-08
  • JavaScript仿淘寶放大鏡效果

    JavaScript仿淘寶放大鏡效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript仿淘寶放大鏡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10

最新評(píng)論

灵宝市| 南丹县| 上杭县| 抚宁县| 突泉县| 苗栗市| 开鲁县| 梓潼县| 永丰县| 察哈| 嵊泗县| 九台市| 噶尔县| 囊谦县| 巴塘县| 洛扎县| 蕉岭县| 营口市| 德清县| 新兴县| 福贡县| 平潭县| 宜城市| 扎囊县| 广元市| 东阿县| 长顺县| 永济市| 沿河| 青州市| 曲水县| 江陵县| 华亭县| 乌拉特后旗| 连江县| 和政县| 南充市| 绥滨县| 略阳县| 宾阳县| 商南县|