Lodash匹配字符串到对象

时间:2016-02-12 10:48:34

标签: javascript object lodash

我是使用Lodash的新手,所以如果问题很简单,我会道歉。

我有一个字符串,我必须针对一个集合验证它。

var x = 'foo'

var myObject = {
   one: 'bar',
   two: 'foo',
   three: 'wiz'
}

我如何使用Lodash(或普通JS,如果它更方便)比较x的值与onetwothree的值进行比较是否匹配?

4 个答案:

答案 0 :(得分:4)

如果您想在此示例中使用Lodash,则可以使用includes方法:

_.includes(myObject, x)
  

检查值是否在收集中。

答案 1 :(得分:1)

您可以使用Object.keys获取对象的密钥,并使用Array.prototype.some检查是否有一个或多个密钥正在使用中:

var x = 'foo'

var myObject = {
   one: 'bar',
   two: 'foo',
   three: 'wiz'
}

var hasAnyKeyThatMatchesx = Object.keys(myObject).some(function(k){ return myObject[k] === x });

答案 2 :(得分:0)

您可以使用for ... indocs)循环对象的属性:

var x = 'foo';

var myObject = {
    one: 'bar',
    two: 'foo',
    three: 'wiz'
}

function containsValue(obj, value) {

    for (var prop in myObject) {
        if(x === myObject[prop]) {
            return true;
        }
    }
    return false;
}

console.log(containsValue(myObject, x));

这只是简单的js。

答案 3 :(得分:0)

按值查找键 _.findKey(myObject, (row) => row === x ) // returns "two"

只检查值是否存在:_.includes(myObject, x) // returns true