Проверьте объект на определенное значение, используя lodash - PullRequest
1 голос
/ 03 мая 2019

Я хочу проверить, имеет ли определенное свойство определенное значение, используя lodash.Код ниже выводит ложь.Как правильно проверить значение?

пример кода

const ob = {
 archived:true,
 done: true
}

console.dir(_.includes(ob.archived, true));

Ответы [ 2 ]

2 голосов
/ 03 мая 2019

Вам необходимо использовать _.includes непосредственно с объектом, вот пример этого:

const ob = {archived:true};

_.includes(ob, true); // true

Если вам нужно проверить только одно значение, вы можете использовать это:

const ob = {archived:true, done: true};

_.includes(_.pick(ob, ['archived']), true); // true
0 голосов
/ 03 мая 2019

Вы можете использовать _.matchesProperty().Метод генерирует функцию, которая принимает объект и возвращает true, если объект содержит указанное свойство и значение.

const hasArchivedTrue = _.matchesProperty('archived', true)

const ob = {
 archived: true,
 done: true
}

console.log(hasArchivedTrue(ob)) // true
console.log(hasArchivedTrue({})) // false
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
...