我是使用Lodash的新手,所以如果问题很简单,我会道歉。
我有一个字符串,我必须针对一个集合验证它。
var x = 'foo'
var myObject = {
one: 'bar',
two: 'foo',
three: 'wiz'
}
我如何使用Lodash(或普通JS,如果它更方便)比较x
的值与one
,two
和three
的值进行比较是否匹配?
答案 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 ... in
(docs)循环对象的属性:
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