javascript - 如何通过搜索“值”/键获得“名称”?
问题描述
在搜索“值”174 时,我无法从“标签”中获取字符串“ola”。
在一个类似的问题中,我发现了一段与我所拥有的代码相似的代码:如何通过值获取 JavaScript 对象中的键?. 我试过了,但它返回未定义。从那以后,我一直在更改它以尝试返回一些东西。现在它返回一个布尔值(false)。
a = {
list: {0: {label: 'ola', value: 174}}
};
value = 174;
console.log([Object.values(a.list).includes(value)]);
我想通过搜索它所具有的“值”来仅返回字符串“ola”,在本例中为 174。我想保持对象“a”的结构不变。
解决方案
使用Object#values和Array#find和destructuring。
undefined
如果您要查找的值不存在,则Array#find 将返回。||
在访问所找到内容的标签属性之前,请使用运算符来处理该特定情况。
const a = {
list: {0: {label: 'ola', value: 174}}
};
const value = 174;
function find(v){
return (Object.values(a.list).find(({value})=>value===v)||{}).label;
}
const res = find(value);
console.log(res);