在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

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