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

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

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

前言

項目中的一個小需求點,點擊按鈕,驗證幾十個條件框,判斷所有條件框是否填寫(選擇)過數據(至少有一個條件判斷為真)再執(zhí)行對應操作

判斷的條件框包含 Radio 單選框,Checkbox 多選框,Input 輸入框,InputNumber 計數器, Select 選擇器, Switch 開關等

項目使用的 Element 組件庫  V2.15.6

不同條件對應的數據類型以及默認值

  • Radio 單選框  string  ''
  • Checkbox 多選框  array []
  • Input 輸入框  string  ''
  • InputNumber 計數器  number  0
  • Select 選擇器
    • 單選 string  ''
    • 多選 array  []
  • Switch 開關  boolean  false

代碼實現

思路一

直接用 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: '請選擇條件后重試',
    type: 'warning'
  })
  return false
} 

實際項目場景中的變量名因為語義化字符很多, if 判斷沒寫幾個就寫了很長一串, 然后寫了幾個就寫不動了(感覺在寫一坨 shi )

能不能用更優(yōu)雅的方式實現呢?

思路二

把這些需要判斷的變量放到一個數組里,用 map 處理成 Boolean  類型,使用 includes 判斷數組中是否包含指定的 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: '請選擇條件后重試',
    type: 'warning'
  })
  return false
} 

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

總結

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

參考文檔

相關文章

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

    JavaScript表格常用操作方法匯總

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

    強大的JSON.stringify如何使用

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

    多種方法實現load加載完成后把圖片一次性顯示出來

    如何一個load 加載完成后把圖片一次性顯示出來,下面有個不錯的方法,希望對大家有所幫助
    2014-02-02
  • JavaScript使用面向對象實現的拖拽功能詳解

    JavaScript使用面向對象實現的拖拽功能詳解

    這篇文章主要介紹了JavaScript使用面向對象實現的拖拽功能,結合實例形式詳細分析了javascript基于面向對象的拖拽功能實現思路、原理與具體操作技巧,需要的朋友可以參考下
    2019-06-06
  • 利用JS動態(tài)生成隔行換色HTML表格的兩種方法

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

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

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

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

    JS的replace方法與正則表達式結合應用講解

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

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

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

    詳解JS設計模式之橋接模式用法

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

    JavaScript仿淘寶放大鏡效果

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

最新評論

刚察县| 铁岭市| 七台河市| 永泰县| 新源县| 务川| 沁源县| 加查县| 武穴市| 孝昌县| 崇文区| 兴业县| 桂阳县| 平南县| 祁东县| 山阴县| 浦县| 常州市| 淮滨县| 巢湖市| 溆浦县| 观塘区| 吉木乃县| 西华县| 舞阳县| 额敏县| 崇仁县| 新乐市| 高青县| 琼中| 汽车| 镇远县| 华坪县| 铁岭县| 莆田市| 越西县| 昌都县| 滕州市| 昌乐县| 兴国县| 郑州市|