當判斷條件更多的時候,使用JS映射,讓代碼更加的優雅。

前端在進行各種判斷的時候,if會用到很多,但是如果判斷的條件過多,還一直用if,代碼會非常臃腫,而且可修改性不強
那么就有人說了,if不行,那我用switch case唄,但是用switch case 也沒有解決代碼臃腫和可修改性,這個時候我們就可以用js中的映射了,通過映射來代碼進行簡化和修改。
舉個簡單的例子,比如現在有100個判斷條件,那if該怎么寫,switch case又要怎么寫,代碼看起來是特別奇怪的,映射就很好修改和使用了。
來個實際例子,現在我們有一個需求,在項目國際化的時候,需要根據languge的不同,對需要國際化的語言進行相應的操作,用映射怎么寫呢
let languge = 'zh-CN'
let obj:any = {'zh-CN':()=>{console.log(tInJs?.$t('message.hello'));return tInJs?.$t('message.hello')},'en-US': () => {console.log(333);}
}

我們執行的時候,直接

obj[languge]() //完事  
那有人說,這個langue不在你obj里面有響應的key值,又該怎么辦呢,那也很簡單
let languge = 'zh-CN'
let obj:any = {'zh-CN':()=>{console.log(222);},'en-US': () => {console.log(333);},'default': () => {console.log('暫無匹配元素');return '暫無匹配元素'}
}
if (obj[languge] == undefined) {obj['default']()
}else{obj[languge]()  
}
無論你有多少判斷條件,我只需要在obj里面寫出來,其他都不用變,對應的條件,直接找obj的key就完事了

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/41532.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/41532.shtml
英文地址,請注明出處:http://en.pswp.cn/news/41532.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

不懂瞎指揮,就會闖大禍

不懂瞎指揮,就會闖大禍 【安志強趣講《孫子兵法》第12講】 【原文】 故君之所以患于軍者三:不知軍之不可以進而謂之進,不知軍之不可以退而謂之退,是謂縻軍; 【注釋】 患,危害、貽害。 縻(m&…

Fine tune簡介

目錄 Intro Related work Example .1 重新訓練 .2 使用新的數據集進行fine tune .3 修改net結構 References 移學習不是一種算法而是一種機器學習思想,應用到深度學習就是微調(Fine-tune)。通過修改預訓練網絡模型結構(如修改樣本類別輸出個數),選擇性載入預訓練網絡…

拒絕擺爛!C語言練習打卡第三天

🔥博客主頁:小王又困了 📚系列專欄:每日一練 🌟人之為學,不日近則日退 ??感謝大家點贊👍收藏?評論?? 目錄 一、選擇題 📝1.第一題 📝2.第二題 &#x1f4…

【LeetCode】337.打家劫舍Ⅲ

題目 小偷又發現了一個新的可行竊的地區。這個地區只有一個入口,我們稱之為 root 。 除了 root 之外,每棟房子有且只有一個“父“房子與之相連。一番偵察之后,聰明的小偷意識到“這個地方的所有房屋的排列類似于一棵二叉樹”。 如果 兩個直…

Command Injection

Command Injection Command Injection,即命令注入,是指通過提交惡意構造的參數破壞命令語句結構,從而達到執行惡意命令的目的。PHP命令注入攻擊漏洞是PHP應用程序中常見的腳本漏洞之一。 PHP命令注入漏洞的函數 systme()、exec()、shell_ex…

【3Ds Max】彎曲命令的簡單使用

簡介 在3ds Max中,"彎曲"(Bend)是一種用于在平面或曲面上創建彎曲效果的建模命令。使用彎曲命令,您可以將對象沿特定軸向彎曲,從而創建出各種彎曲的幾何形狀。以下是使用3ds Max中的彎曲命令的基本步驟&…

8月17日,每日信息差

1、專家稱無需太過擔心EG.5變異株 2、快手職級體系調整,職級序列由雙軌變單軌 3、抖音、火山引擎、中國電影資料館發起“經典香港電影修復計劃”,一年內將100部香港電影修復至4K版本。本次修復工作由火山引擎提供技術支持,與中國電影資料館…

【Bert101】最先進的 NLP 模型解釋【01/4】

0 什么是伯特? BERT是來自【Bidirectional Encoder Representations from Transformers】變壓器的雙向編碼器表示的縮寫,是用于自然語言處理的機器學習(ML)模型。它由Google AI Language的研究人員于2018年開發,可作為…

【Harbor】使用手冊

一、Harbor使用方式 Harbor 作為鏡像倉庫,主要的交互方式就是 將鏡像上傳到Harbor上,以及從Harbor上下載指定鏡像 在傳輸鏡像前,可以先使用 Harbor 提供的權限管理,將項目設置為私有項目,并對不同用戶設置不同角色&…

基于Spring Boot的高校在線考試系統的設計與實現(Java+spring boot+VUE+MySQL)

獲取源碼或者論文請私信博主 演示視頻: 基于Spring Boot的高校在線考試系統的設計與實現(Javaspring bootVUEMySQL) 使用技術: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java s…

uniapp小程序實現上傳圖片功能,并顯示上傳進度

效果圖: 實現方法: 一、通過uni.chooseMedia(OBJECT)方法,拍攝或從手機相冊中選擇圖片或視頻。 官方文檔鏈接: https://uniapp.dcloud.net.cn/api/media/video.html#choosemedia uni.chooseMedia({count: 9,mediaType: [image,video],so…

vscode用ssh遠程連接linux

1、vscode是利用ssh遠程連接linux的,所以首先確保vscode已經安裝了這兩個插件 2、點擊左下角的連接 3、選擇Connect to Host…… 5、按格式輸入 ssh 主機名ip 比如我的:ssh mnt192.168.198.128 6、選擇第一個打開配置文件,確保輸入正確 7、…

spring bean創建總覽 1

1 開始 這是一個總圖 下邊慢慢看 我們最基礎的寫的方式就是xml的方式去寫 像這樣, 而我們會通過applicationContext的方式去獲得我們的bean ,我其中一篇博客就寫到了applicationContext他的父類就是beanFactory 但是中間的是怎么樣處理的呢&#xff1f…

VET:基因變異VCF數據集便捷提取工具

VET:Vcf Export Tools 工具簡介 VET是一個基于R語言開發的變異位點信息批量提取工具,主要功能是根據VCF數據集,按照基因ID、樣品ID、變異位點ID等參數,實現批量提取,同時支持變異位點結構注釋,一步搞定變異…

android 的Thread類

Thread類 位于java.lang包下的Thread類是非常重要的線程類,它實現了Runnable接口,學習Thread類包括這些相關知識:線程的幾種狀態、上下文切換,Thread類中的方法的具體使用。 線程:比進程更小的執行單元,每…

Php“牽手”京東商品詳情頁數據采集方法,京東API接口申請指南

京東詳情接口 API 是開放平臺提供的一種 API 接口,它可以幫助開發者獲取商品的詳細信息,包括商品的標題、描述、圖片等信息。在電商平臺的開發中,詳情接口API是非常常用的 API,因此本文將詳細介紹詳情接口 API 的使用。 一、京東…

uniapp編寫微信小程序遇到的坑總結

1、阻止事件冒泡 使用uniapp開發微信小程序的時候,發現使用click.stop來阻止事件冒泡沒有作用,點擊了之后發現仍然會觸發父組件或者祖先組件的事件。 在網上查閱,發現使用tap.stop才能阻止事件冒泡。 2、二維碼生成 在網上找了很多&…

Linux 信號的基本概念

信號的基本概念 1. 信號的概念 信號是Linux系統響應某些條件產生的一些事件。接收到信號的進程會相應地采取一些行動。 2. 信號的生成 信號是由于某些錯誤條件而生成的,如內存段沖突、浮點處理器錯誤或非法指令等。信號的生成其實就是一種軟件層次的中斷&#x…

adb對安卓app進行抓包(ip連接設備)

adb對安卓app進行抓包(ip連接設備) 一,首先將安卓設備的開發者模式打開,提示允許adb調試 二,自己的筆記本要和安卓設備在同一個網段下(同連一個WiFi就可以了) 三,在筆記本上根據i…

JVM——類的生命周期

文章目錄 類加載過程加載驗證準備解析初始化 卸載 一個類的完整生命周期如下: 類加載過程 Class 文件需要加載到虛擬機中之后才能運行和使用,那么虛擬機是如何加載這些 Class 文件呢? 系統加載 Class 類型的文件主要三步:加載->連接->…