[英]Lodash match string to object
我是使用Lodash的新手,如果问题很简单,我深表歉意。
我有一个字符串,我必须针对一个集合对其进行验证。
var x = 'foo'
var myObject = {
one: 'bar',
two: 'foo',
three: 'wiz'
}
如何使用Lodash(或更简单的JS)将x
的值与one
, two
和three
的值进行比较,以查找是否存在匹配项?
如果要在此示例中使用Lodash
,则可以使用includes
方法:
_.includes(myObject, x)
检查值是否在集合中。
您可以使用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 });
您可以for ... in
( docs )中使用for ... in
循环对象的属性:
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。
通过值_.findKey(myObject, (row) => row === x ) // returns "two"
查找键_.findKey(myObject, (row) => row === x ) // returns "two"
只需检查值是否存在: _.includes(myObject, x) // returns true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.