[英]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.