SOURCE

// 构造函数
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 命令行工具 X clear

                    
>
console