已知value名获取对应数组的名字

已知一个数组,如图:
image.png
这是一个下拉选择框,现在要做到已知一个value,得到它对应的label(value不会重复,忽略重复问题)。

如:当value=“V1.18.11”时,label打印结果为“其它版本”

当value=“V4.16.2”时,label打印结果为“当前版本”

(我需要用label不一样的值,做一些条件事件)

解决问题了,赞赏一杯奶茶。请大佬解惑。

阅读 2.5k
2 个回答
let obj = {
    options: [
        {
            label: '当前版本',
            options: [{value:'v4.16.1',label:'v4.16.1'},{value:'v4.16.2',label:'v4.16.2'}]
        },
        {
            label: '其它版本',
            options: [{value:'v4.18.1',label:'v4.18.1'},{value:'v4.18.2',label:'v4.18.2'}]
        }
    ]
}
function findLabel(key,obj){
    let result = ''
    obj.options.some(item=>{
        let arr = item.options.filter(ite=>{
            return ite.value == key
        })
        if(arr.length>0){
            return result = item.label
        }else{
            result = '未找到'
        }
    })
    return result;
}
findLabel('v4.16.1',obj) //当前版本
findLabel('v4.18.1',obj) //其它版本
findLabel('v4.18.5',obj) //未找到

既然 value 不会重复,那何不预先处理一数据,处理成一个 Map 对象,map 的 key 就是 你的 value, map 的 value 就是你的 label

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题