在json或数组中利用find方法实现根据value值获取key值的过程

前言

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

发布了194 篇原创文章 · 获赞 118 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/m0_37508531/article/details/103352009