// 构造函数
function Bilateral(arr){
this.map1 = new Map()
this.map2 = new Map()
arr.forEach(item => {this.setValue(item[0], item[1])})
}
// 原型链上添加设置值的函数
Bilateral.prototype.setValue = function(v1, v2){
this.map1.set(v1, v2)
this.map2. set(v2, v1)
}
// 原型链上添加获取值的函数
Bilateral.prototype.getValue = function(key){
if(this.map1.has(key)) {
return this.map1.get(key)
}else if(this.map2.has(key)){
return this.map2.get(key)
}else{
return null
}
}
// 测试
const arr = [['a', '1422'], ['b', '11111'], ['c', '5433']]
const bilateral = new Bilateral(arr)
console.log(bilateral.getValue('a'))
console.log(bilateral.getValue('11111'))
console.log(bilateral.getValue('d'))
console