在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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章