簡體   English   中英

Lodash將字符串與對象匹配

[英]Lodash match string to object

我是使用Lodash的新手,如果問題很簡單,我深表歉意。

我有一個字符串,我必須針對一個集合對其進行驗證。

var x = 'foo'

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

如何使用Lodash(或更簡單的JS)將x的值與onetwothree的值進行比較,以查找是否存在匹配項?

如果要在此示例中使用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 ... indocs )中使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM