JS代碼如何獲取map的key
JS獲取map的key
Object.keys(map) //獲取回來集合大傢可以試一下
JS map根據value獲取key
前端通過對象保存字典值用於列表字段翻譯或者加載下拉框都是很常見的操作,有時也會需要根據字典值的value獲取對應的key,搜瞭下相關的文章比較少,在此記錄下。
測試數據
paramsMap: { orderType: { '0': '咨詢', '1': '投訴', '2': '舉報', '3': '建議', '4': '求助', '5': '表揚', }, subjectType: { 'LB': '勞保', 'XW': '消委', 'GA': '公安', 'GT': '國土', 'CG': '城管', 'GJJ': '公積金', 'ZH': '綜合', }, },
假設頁面用到兩個類型的字典值,我們使用paramsMap對象保存。(正常使用可以調用接口加載)
根據key獲取value
getParamValue(paramType, code) { if (!Object.prototype.hasOwnProperty.call(this.paramsMap, paramType)) { return '參數類型錯誤'; } return this.paramsMap[paramType][code]; },
調用時指定參數類型
this.getParamValue('orderType', '1');
根據value獲取key
getParamCode(paramType, value, compare = (a, b) => a === b) { if (!Object.prototype.hasOwnProperty.call(this.paramsMap, paramType)) { return '參數類型錯誤'; } return Object.keys(this.paramsMap[paramType]).find(k => compare(this.paramsMap[paramType][k], value)) }
this.getParamCode('subjectType', '公安');
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- JavaScript設計模式之職責鏈模式
- JS判斷對象屬性是否存在的五種方案分享
- JavaScript設計模式之職責鏈模式詳解
- vue如何判斷數組中的對象是否包含某個值
- JavaScript中你不知道的Object.entries用法