前言
在項目開發的過程中有時候會遇到這種情況:預先定義的對象數組或者json對象,後端返回了一個value值,而你需要用的是key值,後端又沒有辦法返給你key值,這個時候就需要自己根據value值找key值了。
find函數
find函數用來查找目標元素,找到就返回該元素,找不到返回undefined
數組中使用
定義對象數組:
option:[
{text:'+',value:0},
{text:'-',value:1},
{text:'*',value:2},
{text:'/',value:3}
]
方法中使用:
this.option.find(x => x.value === this.value).text
假設此時this.value
值爲0,打印上述代碼會輸出+
。
json文件中使用
添加json文件:
{
"00": "民生銀行",
"01": "工商銀行",
"02": "中國銀行",
"03": "建設銀行",
"04": "農業銀行",
"05": "交通銀行",
"06": "招商銀行",
"07": "興業銀行",
"08": "中信銀行",
"09": "光大銀行",
"10": "平安銀行",
"11": "華夏銀行"
}
方法中使用:
let arr = require('../data/bankcode.json')
function findKey(obj, value, compare = (a, b) => a === b) {
return Object.keys(obj).find(k => compare(obj[k], value));
}
console.log(findKey(arr, "民生銀行"));
此時控制檯會輸出00
。