前言
在项目开发的过程中有时候会遇到这种情况:预先定义的对象数组或者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
。