已知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

回到顶部