Вы можете использовать Object.values
(ключи здесь не важны), чтобы создать массив значений объектов для подачи в Array.some()
, который проверяет, возвращает ли какой-либо из элементов true
при передаче в функцию параметра:
var fruits = { apples: false, oranges: true, bananas: true };
console.log(Object.values(fruits).some(e => e === true));
Если Object.keys
разрешено, но Object.values
и some
не разрешено:
var fruits = { apples: false, oranges: true, bananas: true };
console.log(Object.keys(fruits).reduce((a, e) => a || fruits[e] === true, false));
Если у вас нет доступа к что-либо , вы всегда можете написать функцию для перебора ключей, чтобы найти конкретное целевое значение (дляоставьте функцию многоразовой для других целей, кроме true
):
function contains(obj, target) {
for (var key in obj) {
if (obj[key] === target) {
return true;
}
}
return false;
}
var fruits = { apples: false, oranges: true, bananas: true };
console.log(contains(fruits, true));