已知value名获取对应数组的名字
已知一个数组,如图:
这是一个下拉选择框,现在要做到已知一个value,得到它对应的label(value不会重复,忽略重复问题)。
如:当value=“V1.18.11”时,label打印结果为“其它版本”
当value=“V4.16.2”时,label打印结果为“当前版本”
(我需要用label不一样的值,做一些条件事件)
解决问题了,赞赏一杯奶茶。请大佬解惑。
回答
既然 value 不会重复,那何不预先处理一数据,处理成一个 Map 对象,map 的 key 就是 你的 value, map 的 value 就是你的 label
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名获取对应数组的名字 的全部内容, 来源链接: utcz.com/a/44595.html