首页 > 解决方案 > 如何通过搜索“值”/键获得“名称”?

问题描述

在搜索“值”174 时,我无法从“标签”中获取字符串“ola”。

在一个类似的问题中,我发现了一段与我所拥有的代码相似的代码:如何通过值获取 JavaScript 对象中的键?. 我试过了,但它返回未定义。从那以后,我一直在更改它以尝试返回一些东西。现在它返回一个布尔值(false)。

a = {
    list: {0: {label: 'ola', value: 174}}
};
value = 174;

console.log([Object.values(a.list).includes(value)]);

我想通过搜索它所具有的“值”来仅返回字符串“ola”,在本例中为 174。我想保持对象“a”的结构不变。

标签: javascriptobject

解决方案


使用Object#valuesArray#finddestructuring

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);


推荐阅读