首页 > 解决方案 > ES6 / Lodash,如何检查对象是否包含给定请求的特定值?

问题描述

有了像下面这样的对象,我怎么知道template:d51a08fe-fb60-4da0-841b-03a732f19576这个对象中存在某个值,例如:?

const obj= {
            "5871": "template:d51a08fe-fb60-4da0-841b-03a732f19576",
            "6993": "template:d07479ff-1172-4464-996d-32d6c7358979",
            "5123": "template:280ac289-c726-4cb1-8a11-9ae1c987b399"
          };

我试图使用 lodash 一些,但这需要属性名称,但我无法在此处提供属性,例如5871

标签: javascriptecmascript-6lodash

解决方案


您可以使用Object.values()来获取对象中所有值的列表。这将返回一个包含所有值的数组。然后,您只需includes在数组上使用函数来查看该值是否存在于数组中。

const obj= {
            "5871": "template:d51a08fe-fb60-4da0-841b-03a732f19576",
            "6993": "template:d07479ff-1172-4464-996d-32d6c7358979",
            "5123": "template:280ac289-c726-4cb1-8a11-9ae1c987b399"
          };
          
const valueExists = Object.values(obj).includes("template:d07479ff-1172-4464-996d-32d6c7358979")

console.log(valueExists)


推荐阅读